荒谬的事情发生了。有人能帮我一下吗?当我注解掉一些非逻辑部分时,结果会改变。截图在Navicat上提供。
SELECT
(1=1)
AND
(
(LAG(l) OVER (PARTITION BY ticker ORDER BY date) > 1 AND 1=1)
OR (LAG(l) OVER (PARTITION BY ticker ORDER BY date) > 1 AND 1=1)
)
AS is_fs FROM `aggregates` WHERE YEAR(date) = 2016 AND ticker = 'GFF' ORDER BY is_fs DESC
结果为NULL。而注解 "(1=1)AND” 时,结果变为1。或者更糟糕的是,当我删除OR的第二部分(顺便说一句,与第一部分相同)时,结果再次变为1。或者最坏的:当我删除 “PARTITION BY ticker” 从“OR”的第一部分再次出现的结果。
怎么可能...我错过了什么?
1条答案
按热度按时间u7up0aaq1#
仍然不知道原因,但将MariaDB更改为MySQL-8解决了这个问题,在尝试修复,备份重新安装,索引删除设置等之后。