我有以下的(簡化)結構的表格:MySQL的:按組和現場
INT id,
INT type,
INT sort
我需要的是,在某種程度上排序我的數據的選擇,因此:
- 所有同一類型的行都按順序排列,內部按
sort
遞增排序,而 - 一種類型的所有「塊」按其最小值
sort
排序。
例子:
如果表是這樣的:
| id | type | sort |
| 1 | 1 | 3 |
| 2 | 3 | 5 |
| 3 | 3 | 1 |
| 4 | 2 | 4 |
| 5 | 1 | 2 |
| 6 | 2 | 6 |
查詢應排序的結果是這樣的:
| id | type | sort |
| 3 | 3 | 1 |
| 2 | 3 | 5 |
| 5 | 1 | 2 |
| 1 | 1 | 3 |
| 4 | 2 | 4 |
| 6 | 2 | 6 |
我希望這是明確足夠。
在我看來,這應該是一個非常普遍的要求,但是我沒有找到任何足夠接近的例子來將其轉移到我自己的用例中。我想我至少不能避免一個子查詢,但我沒有自己想出來。
任何幫助表示讚賞,在此先感謝。順便說一下:我將在CakePHP 2.1中使用這個查詢,所以如果你知道用Cake做一個舒服的方法,請告訴我。
可能的重複http://stackoverflow.com/questions/1309841/how-to-order-by-a-sum-in-mysql – nidhin
因爲我仍然擺弄着把它傳遞給CakePHP,我打開了它問題,只有在這裏特定的蛋糕:http://stackoverflow.com/questions/10798183/cakephp-sort-by-group-maximum-minimum – bfncs