如果我有一张A表 (a1,a2,a3)
想让其中的数据变成以下方式排列 (a3是随着 a1和a2的重复数的多少来算的,重复了3次就从1排到3)a1 a2 a310 abc 1
20 abc 1
20 abc 2
20 abc 3
23 shf 1
23 shf 2你看这里应该用个什么方法呢?看清楚了再回答啊
想让其中的数据变成以下方式排列 (a3是随着 a1和a2的重复数的多少来算的,重复了3次就从1排到3)a1 a2 a310 abc 1
20 abc 1
20 abc 2
20 abc 3
23 shf 1
23 shf 2你看这里应该用个什么方法呢?看清楚了再回答啊
你该怎么更新就怎么更新
更新后用我上面的sql检索一下就是你想要得结果啊
UPDATE a
SET a3 =
(
select
ROW_NUMBER () OVER (PARTITION BY b.a1, b.a2 ORDER BY b.a1, b.a2)
from a b
where a.rowid=b.rowid)
UPDATE A
SET A3 = (SELECT RN
FROM (SELECT ROW_NUMBER() OVER(PARTITION BY A1, A2 ORDER BY A1, A2) RN,
ROWID
FROM A) B
WHERE A.ROWID = B.ROWID);