我的表格如下:
column 1 | column 2
--------------------
A L
B M
C N
D O
E P
F Q
G R
H S
I T
J U
K V
现在我想"连接" n行的分数(n是可变的)在一起。
例如:
- )如果n = 4,输出应为:
column 1 | column 2 | column 1 | column 2 | column 1 | column 2
A L E P I T
B M F Q J U
C N G R K V
D O H S
- )如果n = 10,输出应为:
column 1 | column 2 | column 1 | column 2
A L K V
B M
C N
D O
E P
F Q
G R
H S
I T
J U
我想过使用临时表和循环。在每次迭代之后,我选择n行的分数并将它们连接在一起(使用union)。但是,我认为这个解决方案对于大型数据集来说可能有点慢。
也许有人认识一种更好的方法?
如果有人能帮助我,我真的很感激。
亲切的问候
Bernhard
答案 0 :(得分:0)
这不完整
枢轴离开,我正在考虑做这样的事情,
Declare @n int=4
Declare @j int
Declare @k int
Select @j=count(*) from #t
if(@j%@n=0)
set @k= (@j/@n)
else
set @k= (@j/@n)+1
--select @k
;with CTE as
(
select *,ntile(@k)over(order by column1)rn from #t
)
select * from cte