这个查询在我的脑海中是有意义的,但我花了很长时间试图编写它,但没有得到任何结果。我正在使用 Codeigniter 及其 Active record 功能,但任何标准 MYSQL 都可以。
我有一个 field 列表和一个事件列表。一个 field 可以举办多个事件,每个事件都存储它所在的 field 。
我想运行一个查询来获取所有 field ,并按它们拥有的事件数量对它们进行排序。
因此列表中的第一个将是有 20 个事件的 field ,最后一个是有 0 个事件的 field 。
有人可以帮忙解答一下吗?表结构简单;
Venues(id, name, address)
Events(id, venue_id, event_name)
任何帮助将不胜感激。
谢谢
最佳答案
像这样的东西?:
SELECT v.id, COUNT(*)
FROM Venues v, Events e
WHERE v.id = e.id
GROUP BY v.id
ORDER BY COUNT(*) DESC;
关于php - 选择所有项目,按项目使用次数排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20017881/