Выбрать все элементы, упорядочить по количеству раз использования элемента

Этот запрос имеет смысл в моей голове, но я потратил целую вечность, пытаясь написать его, и ни к чему не пришел. Я использую Codeigniter и его функцию активной записи, но подойдет любой стандартный MYSQL.

У меня есть список мест и список событий. В месте проведения может быть несколько мероприятий, и каждое событие запоминает, в каком месте оно находится.

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

Таким образом, первой в списке будет площадка с 20 мероприятиями, последней — площадка с 0 мероприятий.

Кто-нибудь может помочь с запросом? Структура таблицы проста;

Venues(id, name, address)
Events(id, venue_id, event_name)

Любая помощь будет принята с благодарностью.

Спасибо


person Carl Bembridge    schedule 16.11.2013    source источник
comment
Вы не хотите, чтобы события извлекались. да?   -  person Nabin Kunwar    schedule 16.11.2013
comment
Привет, спасибо за ваш ответ - правильно, я не хочу отображать события, я хочу отображать только места проведения, но упорядоченные по количеству проводимых ими мероприятий :-)   -  person Carl Bembridge    schedule 16.11.2013


Ответы (1)


что-то вроде этого?:

SELECT v.id, COUNT(*)
FROM Venues v, Events e
WHERE v.id = e.id
GROUP BY v.id
ORDER BY COUNT(*) DESC;
person Jason Heo    schedule 16.11.2013
comment
Абсолютно идеально. Это именно то, что я искал. Большое спасибо за вашу помощь. - person Carl Bembridge; 16.11.2013