我試圖獲得給定GROUP BY條件的TOP X結果。 我目前使用的是這樣的:如何爲每個GROUP BY條件返回多個行
SELECT * FROM
(SELECT id
FROM myTable
WHERE id IN (x1, x2, ..., xn) GROUP BY id ORDER BY grade DESC
) t1
INNER JOIN myTable t2 ON t2.id=t1.id
ID是一個非唯一索引INT場,每個值多行。
這會爲每個ID返回最佳等級的行。我怎樣才能轉換這個返回每個ID的TOP X結果?
例如,從TOP X以下數據
id grade
2 10
2 13
2 15
3 20
4 16
4 55
4 45
4 35
4 25
5 1
假設X是2,我想獲得的行:
id grade
2 15
2 13
3 20
4 50
4 40
5 1
頂部x結果是什麼表? –
新增了一個例子,比較清楚? – Noam
如果'id = 2'有'15 13 13'結果怎麼辦?那麼你會顯示3嗎? – zerkms