SQL帮助需要distinct和group by

时间:2017-02-14 18:50:53

标签: sql

我有一个表格,对我来说有两个重要的字段:id,dob。需要计算表中存在多个dob的所有id-s。无法弄清楚使用groupby和distinct的组合。

示例数据:

id, dob
1, 01011980
1, 01031980
2, 11051950
2, 11051950
3, 02131976
4, 06071980
4, 06011980
4, 06011974

Real table已经说了十亿条记录。

上述数据的预期输出应为:2 那是id-s 1和4,但我并不关心那些id-s的列表。 另一方面:另一个带有id-s列表和不同dob-s计数的查询最终可能也会有所帮助。

2 个答案:

答案 0 :(得分:1)

试试这个:

select distinct id
from t
group by id, dob
having count(*) > 1

它会找到那些具有多个具有相同id和dob的行的ID。

Demo

答案 1 :(得分:0)

SELECT      COUNT(*)
FROM        table
GROUP BY    id, dob
HAVING      COUNT(dob) > 1