我得到了一组这样的结果:
| 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
你可以通过添加Id来获得进一步的旋转
ORDER BY (Id + 1) % @maxId
抓住你
3
4
1
2
工作SQL小提琴(我刚刚发现存在)
http://sqlfiddle.com/#!3/a7f15/5