如何显示数据库表中重复的电子邮件计数?

时间:2019-07-13 10:25:27

标签: sql

这是我的数据库表结构。

|----|------------------|
|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。

3 个答案:

答案 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