SQL Count и групповые дубликаты

Пожалуйста, посоветуйте лучший способ решить мою проблему.

У меня проблема с вычислением того, как подсчитывать дубликаты в таблице, как показано ниже

Street       | City

avenue 123   | New York
avenue 123   | New York
avenue 20    | New York
avenue 35    | Chicago
avenue 12    | Chicago
avenue 123   | Chicago
avenue 12    | Chicago
avenue 12    | Chicago

Я хотел бы иметь количество дублированных улиц в том же городе, что и результат ниже?

результат:

Street     | City | Duplicates

avenue 123 | New York | 2
avenue 12  | Chicago | 3

Ответ 1

Используйте GROUP BY, COUNT и HAVING:

 SELECT Street, City, COUNT(*)
 FROM yourtable
 GROUP BY Street, City
 HAVING COUNT(*) > 1

Посмотрите, как он работает в Интернете: sqlfiddle

Ответ 2

Попробуйте:

SELECT street, city, COUNT(*) AS duplicates
FROM yourtable
GROUP BY street, city
HAVING COUNT(*) >1

Удалите HAVING COUNT(*) > 1, если вы хотите отображать строки без дубликатов.