这个问题在我的脑海中是有道理的,但我花了很多时间试图写它并没有得到任何地方。我正在使用Codeigniter和它的Active记录功能,但任何标准的MYSQL都可以。
我有一个场地列表和一系列事件。一个场地可以举办许多活动,每个活动都会在哪个场所进行。
我想运行一个获取所有场地的查询,并根据它们拥有的事件数量对它们进行排序。
所以列表中的第一个将是有20个事件的场地,最后一个场地有0个事件。
有人可以帮助查询吗?表结构很简单;
Venues(id, name, address)
Events(id, venue_id, event_name)
非常感谢任何帮助。
由于
答案 0 :(得分:1)
这样的事情?:
SELECT v.id, COUNT(*)
FROM Venues v, Events e
WHERE v.id = e.id
GROUP BY v.id
ORDER BY COUNT(*) DESC;