我正在使用以下 SQL 语句:
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
最佳答案
您添加 HAVING
- having
在 group
完成后工作。 Where
在 group
之前工作。
SELECT Col1, count(*) as Col2, Col3
FROM table1
WHERE WeekEnding = '08/26/2012'
GROUP BY Col1
HAVING Col2 != Col3
注意:您按 Col1 分组,而不是按 Col3 分组 - 这是不合法的,因为您在输出中请求 Col3。
关于仅当 count() as col1 <> col2 时,mySQL 选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12101870/