【发布时间】:2022-11-30 20:35:10
【问题描述】:
在表 2 中上一个任务 new entries by one id 的延续中,我有另一个字段 order。此字段应根据每个 param 字段为每个条目编号(如 1、2、3..30),例如:
表格1:
callid | par0 | par1 | par2 | par3 | par4 | par5 | par6 | par7 | par8 | par9 | par10 |
1234567 | 24 | 2 | null | 91 | 58 | null | 25 | 19 | 77 | 62 | null |
表_2:
callid | theme_code | order |
------------------------------
1234567 | 24 | 1 |
------------------------------
1234567 | 2 | 2 |
------------------------------
1234567 | 91 | 3 |
------------------------------
1234567 | 58 | 4 |
------------------------------
1234567 | 25 | 5 |
------------------------------
1234567 | 19 | 6 |
------------------------------
1234567 | 77 | 7 |
------------------------------
1234567 | 62 | 8 |
------------------------------
我考虑过使用序列自动编号的选项,但它会随机编号记录,我需要根据参数字段的顺序进行编号。 如果一个call_id填入了param0,param1,param2,param5,param6,那么param0-1,param1-2,param5-3,param6-4的顺序就是。
【问题讨论】:
-
目前还不清楚,但您可以在 ROW_NUMBER() OVER(PARTITION BY called ORDER BY ...) 的 ORDER BY 中使用 NULLS LAST 或 COALESCE 来为您提供所需的 ID。