我有一個像下面SQLServer的查詢窗口化
select 1 group_rank, 1 row_rank union all
select 1 , 2 union all
select 1 , 3 union all
select 1 , 4 union all
select 1 , 5 union all
select 2 , 1 union all
select 2 , 2 union all
select 2 , 3 union all
select 2 , 4 union all
select 2 , 5 union all
select 3 , 1 union all
select 3 , 2 union all
select 3 , 3 union all
select 3 , 4 union all
select 3 , 5 union all
select 4 , 1 union all
select 4 , 2 union all
select 4 , 3 union all
select 4 , 4 union all
select 4 , 5
我想打破在大小row_rank還基於一個表。如果我的大小是2,則進一步拆分row_rank,如下所示。輸出第三列應該像下面
select 1 group_rank, 1 row_rank, 1 batch_number union all
select 1 , 2, 1 union all
select 1 , 3, 2 union all
select 1 , 4, 2 union all
select 1 , 5, 3 union all
select 2 , 1, 4 union all
select 2 , 2, 4 union all
select 2 , 3, 5 union all
select 2 , 4, 5 union all
select 2 , 5, 6 union all
select 3 , 1, 7 union all
select 3 , 2, 7 union all
select 3 , 3, 8 union all
select 3 , 4, 8 union all
select 3 , 5, 9 union all
select 4 , 1, 10 union all
select 4 , 2, 10 union all
select 4 , 3, 11 union all
select 4 , 4, 11 union all
select 4 , 5, 12
作爲分割大小是2,
前兩行與所述第一group_rank得到第一批次編號,
第三第四行與第一group_rank得到第二批數,
第五排在第1 group_rank得到第三批數量,
分前兩排在第二group_rank獲得第四批號,
第三第四行與第二group_rank得到5批號,
第五行與得到的第3 group_rank得到6批號
...等等。
因爲,我改變了拆分大小,,,批號應相應增長或縮小。 請提供我sql服務器TSQL查詢來做到這一點。
感謝,
首先**您提供了**迄今爲止所做的工作 - 我們很樂意幫助您解決您的問題 - 但我們不僅僅提供所有類似的代碼.... 。 – 2015-02-06 06:15:47