任何人都可以告诉我这个查询有什么问题吗?这个代码不工作:如何在mysql查询中使用2个条件?
SELECT index_no FROM test_record_tbl WHERE year='2012' and year='2013';
此代码工作:
SELECT index_no FROM test_record_tbl WHERE year='2012' or year='2013';
任何人都可以告诉我这个查询有什么问题吗?这个代码不工作:如何在mysql查询中使用2个条件?
SELECT index_no FROM test_record_tbl WHERE year='2012' and year='2013';
此代码工作:
SELECT index_no FROM test_record_tbl WHERE year='2012' or year='2013';
如果我理解你对,你想得到index_no
哪条记录属于2012
和2013
。
此问题通常被称为Relational Division
。
SELECT index_no
FROM test_record_tbl
WHERE year IN ('2012', '2013')
GROUP BY index_no
HAVING COUNT(DISTINCT year) = 2
你失败,因为一年可以(大概)永远是2012年和2013年
,是一个这意味着这两个条件必须是真实的,才能将该陈述评估为真实。
OR是指一个,或另一个或两者
我想从2012年和2013年获取数据 如何更改它以获取两年的值 – 2013-03-07 07:18:53
有and
和or
之间的差。
您可以从未有2012年和2013年在同一时间,但一年可在一年下降无论是2012年或2013年。
这就是为什么你的第一个SQL查询带来了不结果,而第二没有。
阅读关于“和”和“或”差,哥们 – bsiamionau 2013-03-07 07:07:10
你说的不工作,你得到任何错误或没有结果的情况下,1是什么意思? – 2013-03-07 07:07:50
如果没有结果,则取决于您的“和”或“或”条件。 – 2013-03-07 07:08:38