计算列中的重复值 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
我想要一个查询来计算列中的重复值,有没有关于这个的查询或者我在想
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