【问题标题】:Count and sum up all duplicate records in MySQLMySQL中所有重复记录的统计和总结
【发布时间】:2018-01-29 15:02:05
【问题描述】:

我有一张桌子,结构如下。

id   name  
1    john
2    ana
3    john
4    ana
5    peter
6    ana
7    Abrar
8    Raju

表中重复项如下

john(2)  duplicate
ana(3)  duplicate

重复的名字是 john 和 ana。

我的问题是如何计算总共重复的记录,这里是“5”条记录

注意:我也在社区中关注了类似的question,但它解释了我们如何在表中添加该特定名称存在的重复数,并将表中的第三列相加,表示具有相同名称的重复记录,但就我而言,我想知道表中存在的所有重复项的数量(这里查询的结果只是数字“5”),而与名称无关。

【问题讨论】:

标签: mysql


【解决方案1】:

只需对您已经想到(或者可能已经编写)的查询进行计数子查询:

SELECT SUM(cnt) AS total_duplicates
FROM
(
    SELECT COUNT(*) AS cnt
    FROM yourTable
    GROUP BY name
    HAVING COUNT(*) > 1
) t;

Demo

【讨论】:

  • 这里的 SUM(cnt) 是多少?
  • @MohammedAbrarAhmed 我的 Mac Book Air 自动更正有时会无缘无故地将单词变成事物。检查工作演示。
  • @TimBiegeleisen 你不认为我们应该告诉他们这是重复的问题吗?
  • @Dhaval 我找不到完全相同的副本。如果可以,请将其粘贴到此处,我将关闭问题。
猜你喜欢
  • 2014-11-07
  • 2020-05-31
  • 1970-01-01
  • 2016-08-23
  • 2016-06-15
  • 1970-01-01
  • 2014-04-08
  • 1970-01-01
  • 2012-09-13
相关资源
最近更新 更多