添加一个系列列,如果达到最大数量,将会递增

时间:2016-11-25 12:59:34

标签: sql oracle

我想添加一个根据最大系列数计算的列。

我使用以下代码生成了SERIES_NO列:

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

在这种情况下,Max系列号为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

1 个答案:

答案 0 :(得分:2)

以下内容将会:

ceil (ROW_NUMBER() OVER (ORDER BY item_code, loc_code, cargo_sts) /3 )
相关问题