我有一个表格,对我来说有两个重要的字段: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计数的查询最终可能也会有所帮助。
答案 0 :(得分:1)
试试这个:
select distinct id
from t
group by id, dob
having count(*) > 1
它会找到那些具有多个具有相同id和dob的行的ID。
答案 1 :(得分:0)
SELECT COUNT(*)
FROM table
GROUP BY id, dob
HAVING COUNT(dob) > 1