计算列中的重复值 sql

count duplicate values in a column sql

我想要一个查询来计算列中的重复值,有没有关于这个的查询或者我在想

total records=SELECT COUNT(column_name) FROM table_name;
distinct records=SELECT COUNT(DISTINCT column_name) FROM table_name;
duplicate count=total records-distinct records;

差不多,是的。您可以在单个查询中完成:

SELECT (SELECT COUNT(col) FROM tbl) - (SELECT COUNT(DISTINCT col) FROM tbl);

编辑:NoDisplayName 的观点很好。这至少在 MySQL 中有效,我不保证跨引擎兼容性(我上次在 Oracle 工作是在 15 年前,在 SQL 服务器上从来没有)

看你的sql,可以简化如下:

SELECT Count(Column) - Count(DISTINCT Column)
FROM   yourTable
select column_name, count(*) 
from table_name 
group by column_name 
having count(*) > 1

你可以试试这个:

SELECT COUNT(column_name) as count 
   FROM table_name 
  GROUP BY column_name 
 HAVING count > 1