[英]SQL GROUP BY and a condition on COUNT
我有以下SQL表达式:
select id, count(oID) from MyTable group by oID;
我得到类似的东西
+-------+---------------+
| id | count(oID) |
+-------+---------------+
| 002 | 6 |
| 104 | 1 |
| 101 | 1 |
| 908 | 1 |
+-------+---------------+
现在我想拉出count(oID)
为1的行(select id)。如何在一个SQL语句中执行此操作?
使用HAVING
子句筛选聚合列。
SELECT id, count(oID)
FROM MyTable
GROUP BY oID
HAVING count(oID) = 1
更新1
将结果包装在子查询中
SELECT a.*
FROM tableName a INNER JOIN
(
SELECT id
FROM MyTable
GROUP BY id
HAVING count(oID) = 1
) b ON a.ID = b.ID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.