SQL在oracle中重复生成1到9的序号

SQL to generate a serial number from 1 to 9 repeatedly in oracle

我需要在 Oracle 中生成序列号 SQL 查询..

示例:

rownum (1,2..9,10,11..18,19,20..N)

my_srl_no (1,2..9,1,2..9,1,2..N)

您要查找的是模函数 MOD (https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/MOD.html#GUID-E12A3928-2C50-45B0-B8C3-82432C751B8C).

如果真的rownum你要处理:

mod(rownum - 1, 9) + 1

但通常您更愿意使用 ROW_NUMBER 以便按某种排序标准对行进行编号。无论如何,数学保持不变。