我想在某些条件下获取前 1000 个非空结果的列的最大值。然后,下一个 1000 的时间,以此类推。我在不同的条件下这样做,但是当我使用 dayofweek 时,我发现了一些奇怪的东西。我向您展示的第一个命令有效:
mysql> select max(id),max(d20) from (select id, d20 from data where d20 is not null and id<1000000 and dayofweek(day)=1 limit 1000) x;
+---------+----------+
| max(id) | max(d20) |
+---------+----------+
| 100281 | 13785 |
+---------+----------+
1 row in set (0.44 sec)
但实际上我想要第二个命令,它不能按预期工作。
mysql> select max(id),max(d20) from (select id, d20 from data where d20 is not null and id>100000 and dayofweek(day)=1 limit 1000) x;
+---------+----------+
| max(id) | max(d20) |
+---------+----------+
| 303765 | 0 |
+---------+----------+
1 row in set (0.02 sec)
有什么线索吗?