我有一個表叫收視率,看起來像這樣每組選擇一行?
Rating | Picid | User 8 12 6 7 12 6 9 15 7 5 16 7 9 17 8 10 2 8 7 18 3 10 22 12
我想組基礎上,picid的收視率,但只能選擇每用戶評價最高的picid。我有這樣已經查詢:
SELECT *, AVG(rating) AS total FROM ratings
GROUP BY picid ORDER by total DESC
眼下查詢將輸出這樣的信息:
Rating | Picid | User 7.5 12 6 9 15 7 5 16 7 9 17 8 10 2 8 7 18 3 10 22 12
所以它的基礎上的picid成功羣體的收視率,但我只需要每個用戶最高的一個。我希望它這樣的輸出信息:
Rating | Picid | User 7.5 12 6 9 15 7 10 2 8 7 18 3 10 22 12
怎麼看呢只允許每個用戶的收視率最高的picid? 如何修改我的查詢來執行此操作?
讓我知道你是否需要更多關於我所問的問題的解釋。
這看起來不錯。但我不得不承認'NATURAL'加入我的困惑:) –
它不是MySQL特定的。它在SQL標準中。 –