0

我在数据库中的数据从 1 到 32

1
2
3
4
5
-
-
32

我需要在 4 列和 8 行中显示数据,例如

1     9     17  25
2     10    18  26
3     11    19  27
4     12    20  28
5     13    21  29
6     14    22  30
7     15    23  31
8     16    24  32

我想使用 sql server 2005 以上述格式显示数据表中的数据。我不知道这种格式来显示矩阵格式(4X6)。

4

1 回答 1

1

看一下这个

declare @numRows int = 8

 ;with cte as (
 select columnA X, row_number() over (order by columnA) rn
  from Table1
 )
 select c1.x A, c2.x B, c3.x C, c4.x D
  from cte c1 
 left join cte c2 on c1.rn = c2.rn-@numRows  
 left join cte c3 on c1.rn = c3.rn-(@numRows * 2)
 left join cte c4 on c1.rn = c4.rn-(@numRows * 3)
 where c1.rn <= @numRows
于 2013-11-05T06:55:25.097 回答