Повторяющиеся значения

Извлечение данных / Извлечение повторяющихся строк

SELECT Name, COUNT(*) AS Repeats
FROM city
GROUP BY Name
HAVING COUNT(*) > 1
ORDER BY Repeats DESC, Name


Name Repeats
San José 4
Cambridge 3
Córdoba 3
Hamilton 3
La Paz 3
León 3
Richmond 3
San Fernando 3
San Miguel 3
Springfield 3
...

GROUP BY собирает строки с одинаковым Name в группы, а HAVING COUNT(*) > 1 оставляет только группы из нескольких строк. Получаются значения, которые встречаются больше одного раза, и рядом число повторов. Целые строки с такими значениями возвращают остальные примеры этого раздела.