选择所有项目,按使用项目的次数排序

时间:2013-11-16 11:29:40

标签: php mysql sql codeigniter

这个问题在我的脑海中是有道理的,但我花了很多时间试图写它并没有得到任何地方。我正在使用Codeigniter和它的Active记录功能,但任何标准的MYSQL都可以。

我有一个场地列表和一系列事件。一个场地可以举办许多活动,每个活动都会在哪个场所进行。

我想运行一个获取所有场地的查询,并根据它们拥有的事件数量对它们进行排序。

所以列表中的第一个将是有20个事件的场地,最后一个场地有0个​​事件。

有人可以帮助查询吗?表结构很简单;

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

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:1)

这样的事情?:

SELECT v.id, COUNT(*)
FROM Venues v, Events e
WHERE v.id = e.id
GROUP BY v.id
ORDER BY COUNT(*) DESC;