仅当count()为col1<>时,mySQL才会选择行COL2

时间:2012-08-24 00:41:07

标签: mysql count inner-join

我正在使用以下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

2 个答案:

答案 0 :(得分:2)

将其添加到您的HAVING子句

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

答案 1 :(得分:2)

HAVING完成后,您可以添加having - groupWheregroup之前工作。

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

注意:您正在按Col1进行分组,但不是Col3 - 这是不合法的,因为您要在输出中请求Col3。