2016-11-25 49 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 ...相应地编辑了我的回复。 –