我有这个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/