SQL 服务器 ORDER BY - 顺序排序方法

SQL Server ORDER BY - Sequencing ordering method

我在一列中有这些数字:

|numbers
|1
|1
|1
|1
|2
|2
|2
|3

我想这样订购:

|numbers
|1
|2
|3
|1
|2
|1
|2
|1

有没有人有什么想法?

行数和分区查询都可以..请过一遍..

在子查询中使用 row_number():

select number 
from (
  select number
    , rn = row_number() over (
             partition by number 
             order by (select 1)
           )
  from t
) as s
order by rn, number

rextester 演示:http://rextester.com/NNGS34159

结果

+--------+
| number |
+--------+
|      1 |
|      2 |
|      3 |
|      1 |
|      2 |
|      1 |
|      2 |
|      1 |
+--------+