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 оставляет только группы из нескольких строк. Получаются значения, которые встречаются больше одного раза, и рядом число повторов. Целые строки с такими значениями возвращают остальные примеры этого раздела. |