2012-08-24 33 views
1

我使用下面的SQL語句:MySQL的選擇行只有數()作爲COL1 <> COL2

SELECT Col1, count(*) as Col2, Col3 
FROM table1 
WHERE WeekEnding = '08/26/2012' 
GROUP BY Col1 

要獲得

Col1 Col2 Col3 
NY  2  2 
FL  1  2 
TX  1  2 
NJ  1  2 
WA  2  2 
DE  1  3 
MA  4  4 
AL  3  3 

,如何排除記錄,其中COL2 = COL3,所以我明白了。

Col1 Col2 Col3 
FL  1  2 
TX  1  2 
NJ  1  2 
DE  1  3 

回答

2

您添加HAVING - having作品group完成後。 Wheregroup之前工作。

SELECT Col1, count(*) as Col2, Col3 
FROM table1 
WHERE WeekEnding = '08/26/2012' 
GROUP BY Col1 
HAVING Col2 != Col3 

注意:您是通過Col1中的分組,而不是COL3 - 這是不合法的,因爲你是在輸出請求COL3。

+0

這樣做。感謝您的解釋。 – nueMind

2

將它添加到您的HAVING條款

SELECT Col1, count(*) as Col2, Col3 
FROM table1 
WHERE WeekEnding = '08/26/2012' 
GROUP BY Col1 
HAVING (count(*) <> col3) 
相關問題