cac*_*ldo 1 mysql sql permutation
我得到了一组这样的结果:
| id |
| 1 |
| 2 |
| 3 |
| 4 |
Run Code Online (Sandbox Code Playgroud)
我想要的
| id |
| 4 |
| 1 |
| 2 |
| 3 |
Run Code Online (Sandbox Code Playgroud)
有没有任何优雅的方法来使用SQL脚本实现这一目标?
你可以使用mod运算符%来ORDER BY
DECLARE @maxId AS INT
SELECT @maxId = MAX(Id) FROM MyTable
SELECT id FROM MyTable
ORDER BY Id % @maxId
Run Code Online (Sandbox Code Playgroud)
您可以通过添加到Id来获得进一步的旋转,即
ORDER BY (Id + 1) % @maxId
Run Code Online (Sandbox Code Playgroud)
我懂了
3
4
1
2
Run Code Online (Sandbox Code Playgroud)
工作SQL小提琴(我刚发现存在) http://sqlfiddle.com/#!3/a7f15/5