[英]select maximum n records from table with at most one record per group
我有一个简单模式的表: user_id
, score
,我想提取具有最高分数的n条记录,这样每个user_id
只代表一次。
这个问题类似于为每组分组结果获取前n个记录,除了每组不需要n个代表,我需要n个表的代表,每组最多一个记录。
因此,如果我正在寻找n = 3,运行查询:
user_id | score
1 | 10
2 | 9
1 | 11
2 | 8
3 | 8
4 | 12
应该产量:
user_id | score
4 | 12
1 | 11
2 | 9
SELECT user_id, MAX(score) FROM table GROUP BY user_id ORDER BY MAX(score) DESC LIMIT 3;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.