仅当 count() as col1 <> col2 时,mySQL 选择行

标签 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

最佳答案

您添加 HAVING - havinggroup 完成后工作。 Wheregroup 之前工作。

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/

相关文章:

php - CakePHP显示2个日期之间的所有数据

php - 更新查询不起作用(php、mysql)

MySQL 列出单个表中的一些字段并计算来自另一个表的所有特定字段引用

mysql 与不同表的内连接

c# - 单词快速计数

mysql - SQL 查询 INNER JOIN 与三个表

java - 2人项目——java+数据库程序员

mysql - DBD-mysql错误: CPU you selected does not support x86-64 instruction set

java - 计算 H2 数据库中的重复行数

MySql 选择 group by count(*) 并入分隔字符串?