cal*_*sto 5 sql sql-server-2008
我想将查询中的单列结果拆分为4列:
样本来源:( Select [FirstName from User)
Peter
Mary
John
Tina
Carl
Jane
Bill
Sarah
我想看起来像这样:
Column1 Column2 Column3 Column4
Peter Mary John Tina
Carl Jane Bill Sarah
Run Code Online (Sandbox Code Playgroud)
您需要有一个唯一的列来ORDER BY获得确定性结果,但这些方面的内容应该有效.
;WITH T
AS (SELECT [FirstName],
( ROW_NUMBER() OVER (ORDER BY (SELECT 0)) - 1 ) / 4 AS Row,
( ROW_NUMBER() OVER (ORDER BY (SELECT 0)) - 1 ) % 4 AS Col
FROM [User])
SELECT [0] AS Column1,
[1] AS Column2,
[2] AS Column3,
[3] AS Column4
FROM T PIVOT (MAX(name) FOR Col IN ([0], [1], [2], [3])) P
ORDER BY Row
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
957 次 |
| 最近记录: |