我想通过MS SQL中的交替数字来订购,如1,2,3,1,2,3等

时间:2012-09-07 22:00:24

标签: sql sql-server tsql sql-order-by

我在MS SQL数据库中有一个表,其中包含值为1或2或3的列

现在我想做一个ORDER BY,我得到这样的记录1,2,3,1,2,3,1,2,3

这看起来更难了......我已经编程了10年,这个让我卡住了; - )

有人有什么好主意吗?

1 个答案:

答案 0 :(得分:7)

DECLARE @T TABLE(A INT) 

INSERT @T VALUES(1),(1),(1),(2),(2),(2),(3),(3),(3)

SELECT A FROM (
SELECT ROW_NUMBER() OVER(PARTITION BY A ORDER BY A) R, A
FROM @T
) B
ORDER BY R, A