我在MS SQL数据库中有一个表,其中包含值为1或2或3的列
现在我想做一个ORDER BY,我得到这样的记录1,2,3,1,2,3,1,2,3
这看起来更难了......我已经编程了10年,这个让我卡住了; - )
有人有什么好主意吗?
答案 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