Помогите сформировать оператор SQL - PullRequest
2 голосов
/ 02 августа 2010

У меня две таблицы: достопримечательности и города. Достопримечательности содержит столбец с названием город, который является ссылкой на идентификатор в таблице городов. Я хочу сформировать оператор MySQL, который покажет мне, в каких городах больше всего достопримечательностей.

Я знаю, что могу сделать:

SELECT COUNT(*) as `number` 
 FROM `attractions` 
WHERE `city` = XX 

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

1 Ответ

3 голосов
/ 02 августа 2010
SELECT City.Name, COUNT(Attractions.City) as AttractionCount
FROM City
LEFT OUTER JOIN Attractions ON City.City = Attractions.City
GROUP BY City.Name
ORDER BY COUNT(Attractions.City) DESC
...