這裏還是提出問題的新手,所以這是我第二次嘗試解決我面臨的問題。對SQL命令的限制
我有一張已經按Score排序的表。每個記錄可以是3種類型之一。我想按照Score對錶格重新排序,但對每10個記錄中的組合施加一個額外的限制。特別是,有三種類型的特定混合物。
在下面的例子中,我希望有類型C中的至少2和A型
我有什麼的至多2
------------------------------------------
ID Score Type
------------------------------------------
1 100 A
2 99 B
3 97 B
4 92 A
5 91 C
6 85 A
7 83 B
8 81 B
9 75 B
10 70 B
11 65 A
12 61 C
13 59 B
我想什麼
------------------------------------------
ID Score Type
-----------------------------------------
1 100 A
2 99 B
3 97 B
4 92 A
5 91 C
7 83 B
8 81 B
9 75 B
10 70 B
12 61 C
我不認爲這可以通過Group By或usort以有效的方式解決。我最初的解決方案是導出到PHP並在那裏重新排序。
(1)表是不排序。 (2)您使用的是什麼RDBMS? –
我正在使用mysql – rami
如果您使用SQL Server> 2005,我認爲您可以使用RANK來獲得您想要的內容。有關更多詳細信息,請參閱http://msdn.microsoft.com/en-us/library/ms176102.aspx。 – cciotti