我最近在采访中得到了这个问题,我没有回答。问题是列出列表雇主中出现的副本数量,如下表所示
id | employer | employee
1 | isro | dude1
2 | isro | dude 2
3 | cnd | dude 3
4 | df | dsfdef
5 | dfdf | dfdfd
...
所以结果应该像
isro = 2
df = 4
dfsf = 6
我如何实现这一目标? 我知道有count(*)我可以使用带有where子句的select语句,但是我如何实现上述结果。
答案 0 :(得分:2)
HAVING
子句可用于过滤聚合值:
SELECT employer, COUNT(*)
FROM yourTable
GROUP BY employer
HAVING COUNT(*) > 1
答案 1 :(得分:0)
假设TableName是您要从中选择的表的名称,这将是您的答案。
SELECT employer, count(employer)
FROM TableName
GROUP BY employer
HAVING COUNT(*) > 1
这是一个非常相似的问题的答案,其中包含更多信息。
How to count occurrences of a column value efficiently in SQL?