我有数据
通过使用此查询,我得到的数据就像这样
Select ID,Val,Premium,Row_number()OVER(PARTITION BY ID,Val ORDER BY ID) RN From Table1
现有数据
ID Val Premium RN
1 CH 201 1
1 CH 0 1
1 CHH 301 2
1 CHS 401 3
如何使此数据与当前查询
相似 ID Val Premium RN
1 CH 201 1
1 CH 0 4
1 CHH 301 2
1 CHS 401 3
我只想让同一RN的数据增加到最大数
Val = CH有RN = 1然后我想让Premium = 0记录到RN = 4
在当前行号中,我需要选择MAX(RN)并递增到该重复值
答案 0 :(得分:0)
这应该可以解决问题:
UPDATE table1
SET rn = (SELECT Max(rn) + 1
FROM table1)
WHERE id IN (SELECT id
FROM table1
WHERE rn IN (SELECT rn
FROM table1
GROUP BY rn
HAVING Count(*) > 1))
AND premium = 0;
更新表格。将新RN值设置为最高值+ 1。仅更新存在多个RN值且溢价为0的行。
答案 1 :(得分:0)
Heritrix.java