我有这个mysql查询,它可以在指定日期之前获取特定数据;

SELECT id FROM mytable WHERE DAY(idate)='11' AND MONTH(idate)='01' AND YEAR(idate)='2013' GROUP BY id


现在我想从指定的日期获取数据,并从指定的日期之外获取数据,我已经尝试过该查询并返回零结果;

SELECT id FROM mytable WHERE DAY(idate)='11' AND DAY(idate)<>'11' AND MONTH(idate)='01' AND YEAR(idate)='2013' GROUP BY id

最佳答案

您的SQL:

SELECT id FROM mytable WHERE DAY(idate)='11' AND DAY(idate)<>'11'
                       AND MONTH(idate)='01' AND YEAR(idate)='2013' GROUP BY id


的意思是“从mytable中选择行的ID,其中日期既等于11又不等于11 ...”

这是不可能的情况,因此您一无所获。

我想,您真正想要的是“从mytable中选择日期等于11的行以及日期不等于11的行的ID ...”。这与“不管日期的值如何,从mytable中选择行的ID ...”相同或:

SELECT id FROM mytable WHERE MONTH(idate)='01' AND YEAR(idate)='2013' GROUP BY id

关于mysql - 相等与不相等,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14425375/

10-12 01:06