这是我的数据库表结构。
|----|------------------|
|SN | Email |
|----|------------------|
|1 | aa@gmail.com |
|----|------------------|
|2 | aa@gmail.com |
|----|------------------|
|3 | bb@gmail.com |
|----|------------------|
|4 | bb@gmail.com |
|----|------------------|
|5 | bb@gmail.com |
|----|------------------|
|6 | cc@gmail.com |
|----|------------------|
我要以这种方式显示行:
SN电子邮件DuplicateCount
1 aa@gmail.com 2
2 bb@gmail.com 3
3 cc@gmail.com 1
请建议我如何制作用于显示重复电子邮件的SQL。
答案 0 :(得分:5)
请在下面的SQL QUERY中使用。
这是SQL:
SELECT `Email`, count(Email) as DuplicateCount FROM `tablename` group by Email
我希望使用上述SQL可以解决您的问题。
答案 1 :(得分:2)
您可以使用count
来获取它:
select email, count(email) as duplicates from
tableName group by email order by duplicates desc
答案 2 :(得分:0)
使用支持大多数dbms的row_number() 计数
select row_number()over(order by email) as sn
,email, count(*) as DuplicateCount from
table_name group by email order by email