有沒有辦法根據列A和B在MySQL中對結果進行排序,然後將結果限制爲X,如每個值A所示,如ORDER BY A, (B LIMIT X)
?MySQL ORDER by two columns,limit on one one
假設我有TABLE_A在以下格式:
+------+--------+------+
| Col1 | Col2 | Col3 |
+------+--------+------+
| A | 100 | abc |
| A | 200 | acd |
| A | 300 | atd |
| A | 400 | aem |
| A | 500 | ieb |
| B | 150 | aio |
| B | 250 | loe |
| B | 350 | wmd |
| B | 450 | zir |
| B | 550 | oui |
+------+--------+------+
我想獲得與第1列在這裏的每個值相關聯的第2列的X最高值是結果的,如果我想的示例有每個COL1結果前3:
+------+--------+------+
| Col1 | Col2 | Col3 |
+------+--------+------+
| A | 500 | ieb |
| A | 400 | aem |
| A | 300 | atd |
| B | 550 | oui |
| B | 450 | zir |
| B | 350 | wmd |
+------+--------+------+
我如何能實現不依賴於一個查詢每列1的值,這樣的行爲?
請添加示例數據和預期輸出 –
更新請求的信息 –
這可以幫助:[在SQL中,如何選擇每組的前2行](http://stackoverflow.com/questions/15969614/in-sql - 如何爲每個組選擇前2行)/// [獲取每組分組結果的前n個記錄](http://stackoverflow.com/questions/12113699/get -top-n-records-for-each-group-of-grouped-results) – Amboom