mysql - 执行查询以获取数据行中 user_id id 的前 3 次出现?

标签 mysql sql

我想查询前 3 位贡献作者,即他们撰写的页面/帖子最多。我会通过与每一行相关联的用户的 session_id 选择数据,即他们写的页面。我想选择并排序数据库中行数最多的前 3 个人。我该如何查询?我在想...

SELECT DISTINCT user_id
FROM music_spot 
WHERE (need a condition here)
ORDER BY (the person who contributed the most pages to the third
LIMIT 3

我怎么能做这样的事情呢?谢谢。

最佳答案

SELECT user_id
FROM music_spot 
WHERE session_id = 123
ORDER BY count(user_id) desc
group by user_id
LIMIT 3

关于mysql - 执行查询以获取数据行中 user_id id 的前 3 次出现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9714982/

相关文章:

sql - 多次使用相同参数的 format() 动态查询

SQL存储过程临时表内存问题

php - 按sql查询分组

php - mysql multi_query 间歇性失败

php - 使用 PHP 但不使用 MySQL 列出在线用户的最佳方法?

mysql - 存储功能

mysql - Big Mysql 查询(连接结果中的计数并修改字符串)

php - 如何根据我的需要在 PHP 中格式化数组?

在触发器中引用时,MySQL 表 .new 应该不存在

mysql - 定义用于使用分析的 Web 服务(桌面应用程序)