mysql - 查找两列上的重复条目总数

标签 mysql

我需要获取包含多列重复数据的条目总数。这与 this 上所做的事情完全相同。他所在的页面,

SELECT COL_1, COL_2, COL_3, COL_4, COUNT(*)
FROM MyTable
GROUP BY COL_1, COL_2, COL_3, COL_4
HAVING COUNT(*) > 1

除了,我需要 sum(COUNT())。我尝试过求和,并删除 group by 子句,但仍然出现错误。

最佳答案

您可以通过将分组计数设置为子查询来实现此目的:

SELECT sum(sub.counts) FROM (
  SELECT COL_1, COL_2, COL_3, COL_4, COUNT(*) as counts
  FROM MyTable
  GROUP BY COL_1, COL_2, COL_3, COL_4
  HAVING COUNT(*) > 1
) sub;

最重要的是为原始的“COUNT(*)”命名,以便您可以在外部查询中轻松引用它。

关于mysql - 查找两列上的重复条目总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7340285/

相关文章:

mysql - 执行内部连接时 mysql 的语法错误

mysql - Django 查询速度快,渲染速度慢

MySQL - 如果第一列值相同,则查询按第二列排序

php - 使用 LIMIT 和 BETWEEN 运算符的类似子查询的较短 SQL 语句

mysql - 具有相同时间戳的 Rails 迁移

php - PDO fetchAll 非对象

mysql - 在 MySQL 中获取时间戳截止后的所有行

mysql - mysql中查询解决

javascript - 发现 js php 加载/执行问题

.NET 应用程序将数据导出到远程 Linux 服务器