優雅的方式,我得到了這樣一組結果:創建圓形排列與MySQL
| id |
| 1 |
| 2 |
| 3 |
| 4 |
我試圖讓
| id |
| 4 |
| 1 |
| 2 |
| 3 |
是否有任何優雅的方式來實現這一目標用一個SQL腳本?
優雅的方式,我得到了這樣一組結果:創建圓形排列與MySQL
| id |
| 1 |
| 2 |
| 3 |
| 4 |
我試圖讓
| id |
| 4 |
| 1 |
| 2 |
| 3 |
是否有任何優雅的方式來實現這一目標用一個SQL腳本?
可以使用Mod運算符,%
到ORDER BY
DECLARE @maxId AS INT
SELECT @maxId = MAX(Id) FROM MyTable
SELECT id FROM MyTable
ORDER BY Id % @maxId
您可以通過增加顯示得到進一步的旋轉,即
ORDER BY (Id + 1) % @maxId
讓你
3
4
1
2
工作SQL小提琴(我剛剛發現) http://sqlfiddle.com/#!3/a7f15/5
太棒了!像魅力一樣工作+你可以指定偏移參數!我不能要求更多 – caccialdo 2012-04-18 13:05:28
您能否提供其他例子來說明如何訂購結果或更好地描述結果?目前還不清楚你想從這個例子中嘗試做什麼 – 2012-04-18 12:50:18
你是否建議你想在其他一些迭代中使用3,4,1,2? – Randy 2012-04-18 12:52:48
我只是試圖創建一個循環/圓形排列,給定表中的行的偏移量爲1。 – caccialdo 2012-04-18 12:54:53