我有一个用户和一个分数表。每个用户有多个分数,例如:按组排序(查询生成器)
- 用户1具有分数:45,66,98
- 用户2具有2分:75,45
- 用户3具有分数:94,66,12
只有每个用户的最高分数是相关的。我想要达到的是获得最高分的10位用户。这适用于以下laravel查询:
$results = Score::orderBy('score', 'desc')
->groupBy('user_id')
->limit(10)
->get()
该查询的问题是,它返回的是最高用户,但不是他们的最高分。它返回组中的第一个分数。所以,当我查询了给定的例子,这将返回:
- 1:用户1,45
- 2:用户3,94
- 3:用户2,75
我怎样才能让肯定它会返回最高分的最高用户?我试图 - >明显('分数'),但没有奏效。
你试图“组第一,当时的秩序”? – Paladin
是的,我做到了。这没有什么区别。 –
这是一个错误? '' - > limit(10); - > get()''你在''limit()后面使用'';''' – jmattheis