我有一個用戶和一個分數表。每個用戶有多個分數,例如:按組排序(查詢生成器)
- 用戶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