任何人都可以告訴我這個查詢有什麼問題嗎?這個代碼不工作:如何在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