2016-11-25 50 views
0

我想添加一個列將根據最大系列數。添加一個系列列,將增加,如果達到最大數

我已經使用以下生成的SERIES_NO柱:

MOD(ROW_NUMBER() OVER (ORDER BY item_code, loc_code, cargo_sts) - 1, 3) + 1 

在這種情況下的最大系列沒有IS 3。以下是樣本結果集。現在,我想要生成SHEET_NO列。任何建議?謝謝。

CARGO_STS LOC_CODE ITEM_CODE AVAIL_QTY SERIES_NO SHEET_NO 
NORMAL  D1867BD1 0000044500  6    1   1 
NORMAL  D1947GD1 0000055401  2    2   1 
NORMAL  D3351AA1 0000058000  2    3   1 
NORMAL  D1945DC2 0000058201  1    1   2 
STO-DAMAGE 205-12BB 0000058300  1    2   2 
NORMAL  D3446FB1 0000058300  1    3   2 
NORMAL  Q00-37CA 0000060401 128    1   3 
NORMAL  D1158FA1 0000079901 36    2   3 

回答

2

像下面會做什麼:

ceil (ROW_NUMBER() OVER (ORDER BY item_code, loc_code, cargo_sts) /3) 
+0

感謝您的想法Bhavesh。我找到了正確的方法來做到這一點。 – jeff

+0

@BhaveshGhodasara從FLOOR(1/3)= 0開始,使用'CEIL'而不是'FLOOR'可能會更好,但是它看起來像Jeff希望它是1,這意味着您必須添加1之後。 CEIL(1/3)將是1,這否定了之後添加一個的需要。 – Boneist

+1

@Boneistthanks ...相應地編輯了我的回覆。 –