几个月前,我问了一个与此类似的问题,得到了一些帮助,并认为我有答案。3 个月后,我看到这并没有 100% 起作用,所以我需要更多帮助,但现在我了解更多,我可以更好地提出这个问题。
我有一个mysql表id, userid, rounds, reps, exerciseid
我需要针对我要进行的练习拉出用户最高的一轮。因此,如果exerciseid
是 8,我将需要用户获得最高级别,exerciseid
但如果用户rounds
不止一次拥有相同的用户,这种情况经常发生,那么我需要按 排序,以reps
获得真正的最高性能。现在,在获得这些结果之后,我需要对这个数据集进行排序rounds
,reps
因此如果多个唯一用户具有相同rounds
的排序,则按 排序reps
。
这可以用纯 mysql 完成,还是我最好用 PHP 提取数据并排序所有内容?
SELECT
max(l.rounds) as rounds,
l.reps,l.userid
from leaderboard l
where l.exerciseid = 8
group by l.userid
order by
rounds desc,
reps desc
结构示例 首先这是一个样本集
userid exerciseid rounds reps
-- -- --
1 8 23 10
1 8 23 15
1 8 20 10
2 8 28 19
2 8 15 12
3 8 40 29
results I want
userid exerciseid rounds reps
-- -- --
3 8 40 29
2 8 28 19
1 8 23 15