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

标签 php mysql sql codeigniter

这个查询在我的脑海中是有意义的,但我花了很长时间试图编写它,但没有得到任何结果。我正在使用 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/

相关文章:

php - 对少量数据使用一个或两个数据库

php - laravel 的身份验证可以记住没有密码的用户吗?

php - 在 mysql 上使用 SQL_SAFE_UPDATES

php - 如何在下拉列表中列出数据库的所有表(不是记录)MySQL PHP

php - UNION 查询在 mysql 中工作,但在 php 中工作不一样

php - 如何使用 codeigniter 编写此查询?

Python插入到mysql

MySQL 将具有相同 ID 的多行值复制到新列中?

mysql - 更新语句上的缓慢 MySQL 查询

c# - 通过 Entity Framework 获取 SQL View 返回不正确的结果