3
例如,我有兩列,我想列出列A中出現多於一次的列中的項目的所有行,但具有在B列中不同的值到目前爲止,我還沒有想出答案SQL列出列A出現多次但具有不同列B值的所有行
Column A Column B
Apple x
Banana a
Orange b
Orange b
Banana x
Avocado d
例如,我有兩列,我想列出列A中出現多於一次的列中的項目的所有行,但具有在B列中不同的值到目前爲止,我還沒有想出答案SQL列出列A出現多次但具有不同列B值的所有行
Column A Column B
Apple x
Banana a
Orange b
Orange b
Banana x
Avocado d
嘗試此查詢:
SELECT ColumnA
FROM table t
GROUP BY ColumnA
HAVING COUNT(DISTINCT ColumnB) >= 2;
另一種HAVING
條款,可能是更有效的是:
HAVING MIN(ColumnB) <> MAX(ColumnB)
嘗試此查詢:
SELECT ColumnA
FROM mytable
GROUP BY ColumnA
HAVING COUNT(*) > 1 AND COUNT(DISTINCT ColumnB) = COUNT(*)
HAVING
如果ColumnA
值出現一次以上條款是真實的。ColumnB
中的值在ColumnA
組中不同。
似乎工作得很好。這是我正在處理的SQL小提琴,並將此查詢插入到:[SQL小提琴](http://sqlfiddle.com/#!4/aa6a5/5/0) – clesiemo3
我正在使用ms訪問,並且我得到一個未定義的函數不同的表達錯誤 – JimS
我猜在Access它必須是一個嵌套查詢,計數和獨特的不能在同一個選擇語句。你有什麼主意嗎。我嘗試了一些,但不能過濾這些值,只顯示列b – JimS