Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 添加一个序列列,如果达到最大值,该列将递增_Sql_Oracle - Fatal编程技术网

Sql 添加一个序列列,如果达到最大值,该列将递增

Sql 添加一个序列列,如果达到最大值,该列将递增,sql,oracle,Sql,Oracle,我想添加一列,它将根据系列的最大数量进行计数 我已使用以下方法生成了序列号列: MOD(ROW_NUMBER() OVER (ORDER BY item_code, loc_code, cargo_sts) - 1, 3) + 1 在这种情况下,最大序列号为3。下面是示例结果集。现在,我想生成SHEET\u NO列。有什么建议吗?谢谢 CARGO_STS LOC_CODE ITEM_CODE AVAIL_QTY SERIES_NO SHEET_NO NORMAL

我想添加一列,它将根据系列的最大数量进行计数

我已使用以下方法生成了序列号列:

MOD(ROW_NUMBER() OVER (ORDER BY item_code, loc_code, cargo_sts) - 1, 3) + 1
在这种情况下,最大序列号为
3
。下面是示例结果集。现在,我想生成
SHEET\u 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

下面这样做可以:

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

下面这样做可以:

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

谢谢你的主意,巴维斯。我找到了正确的方法。@BhaveshGhodasara最好使用
CEIL
而不是
FLOOR
,因为FLOOR(1/3)=0,但看起来Jeff希望它是1,这意味着之后必须向它添加1。CEIL(1/3)将是1,这就不需要在之后添加一个。感谢Bhavesh的想法。我找到了正确的方法。@BhaveshGhodasara最好使用
CEIL
而不是
FLOOR
,因为FLOOR(1/3)=0,但看起来Jeff希望它是1,这意味着之后必须向它添加1。CEIL(1/3)将是1,这否定了之后添加一个的必要性。