具有重复电子邮件 ID 的不同行数
Posted
技术标签:
【中文标题】具有重复电子邮件 ID 的不同行数【英文标题】:Count of distinct rows with duplicate email IDs 【发布时间】:2011-03-19 02:29:22 【问题描述】:如何在 SQL 中获取具有重复电子邮件 ID 的不同行的计数?
ID NAME EMAIL
1 John asd@asd.com
2 Sam asd@asd.com
4 Bob bob@asd.com
5 Tom asd@asd.com
6 Rob bob@asd.com
7 Tic tic@asd.com
8 Dad dad@asd.com
查询应该返回 2。 asd@asd.com 和 bob@asd.com 是重复的
SELECT
COUNT(*)
FROM Users
GROUP BY EMail
HAVING ( COUNT(EMAIL) > 1 )
这个查询返回了一些奇怪的结果。 谢谢
【问题讨论】:
【参考方案1】:行数:
select sum(cnt)
from (select count(*) as cnt
from Users
group by email
having count(*) > 1) T
电子邮件数量:
select count(*)
from (select count(*) as cnt
from Users
group by email
having count(*) > 1) T
两者兼而有之:
select count(*) as COUNT_EMAIL sum(cnt) as COUNT_ROWS
from (select count(*) as cnt
from Users
group by email
having count(*) > 1) T
以上应该适用于 SQL Server 和 Oracle。
【讨论】:
以上是关于具有重复电子邮件 ID 的不同行数的主要内容,如果未能解决你的问题,请参考以下文章
Python Pandas - 连接两个具有不同行数和列数的数据框