MySQL分組排序求Top N
表結構
按照grp分組,按照num排序,每組取Top 3,輸出結果如下:
源代碼:
SELECT * FROM score AS t3 WHERE ( SELECT COUNT(*) FROM score AS t1 LEFT JOIN score AS t2 ON t1.grp = t2.grp AND t1.num < t2.num WHERE t1.id = t3.id ) < 3 ORDER BY t3.grp ASC, num DESC
在where中可以通過子查詢創造一個新的變量來過濾。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答