SQL как выбрать повторяющиеся (повторные) записи из таблицы
Размещено 2008-12-19
в разделе Программирование | Метки:
MySQL
Предположим есть таблица в которой хранятся id документов, нам нужно узнать какие документы используются больше одного раза.
Вот пример таблицы
mysql> SELECT * FROM data_sources LIMIT 1; +----+-------------------+--------------+ | id | TABLE_NAME | table_row_id | +----+-------------------+--------------+ | 1 | cs_consult_p_data | 5279 | +----+-------------------+--------------+ 1 ROW IN SET (0.00 sec)
Запрос для выбора повторяющихся записей
SELECT table_row_id,COUNT(*) FROM data_sources GROUP BY table_row_id HAVING COUNT(*) > 1 ORDER BY COUNT(*);
mysql> SELECT table_row_id,COUNT(*) FROM data_sources GROUP BY table_row_id HAVING COUNT(*) > 1 ORDER BY COUNT(*) LIMIT 5; +--------------+----------+ | table_row_id | COUNT(*) | +--------------+----------+ | 1174 | 2 | | 11767 | 2 | | 14217 | 2 | | 221972 | 2 | | 331371 | 2 | +--------------+----------+ 5 ROWS IN SET (0.00 sec)