2015-01-19 2 views
0

Я хочу, чтобы запрос для подсчета повторяющихся значений в столбце, есть ли запрос для этого или я думал, какподсчет повторяющихся значений в столбце 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; 
+2

Выберите одну базу данных, пожалуйста, не маркировать всю доступную базу данных –

ответ

2

Оглядываясь на ваш sql, его можно упростить, как показано ниже:

SELECT Count(Column) - Count(DISTINCT Column) 
FROM yourTable 
+0

это работает отлично ... и у меня есть еще одно сомнение, отличается граф и уникальным счет был sa меня или есть какая-то разница. – rajasekhar

+0

проверить этот вопрос: http://stackoverflow.com/questions/6772451/difference-between-select-distinct-and-select-unique –

1

Довольно много, да. Вы можете сделать это в одном запросе:

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

EDIT: Хорошая точка NoDisplayName. Это, по крайней мере, работает в MySQL, я не гарантирую совместимость с несколькими двигателями (я последний раз работал над Oracle пятнадцать лет назад и на SQL Server никогда)

0
select column_name, count(*) 
from table_name 
group by column_name 
having count(*) > 1 
0

Вы можете попробовать это:

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