使用 group by 更新计数器

Update with counter with group by

我有一个 table T1 看起来像这样

DATUM   ID  NAME    ROW_COUNT

2/14/2021   101 ALEX    
2/14/2021   100 SHAUN   
2/14/2021   102 SCOTT   
2/15/2021   100 SHAUN   
2/15/2021   101 ALEX    
2/15/2021   102 SCOTT   
2/16/2021   100 SHAUN   
2/16/2021   101 ALEX    
2/16/2021   102 SCOTT   

其中有列 datumIDNameRow_Count 我想像这样更新计数器

DATUM   ID  NAME    ROW_COUNT

2/14/2021   101 ALEX    1
2/14/2021   100 SHAUN   1
2/14/2021   102 SCOTT   1
2/15/2021   100 SHAUN   2
2/15/2021   101 ALEX    2
2/15/2021   102 SCOTT   2
2/16/2021   100 SHAUN   3
2/16/2021   101 ALEX    3
2/16/2021   102 SCOTT   3

我这样试过的

UPDATE DAILY_PRODUCTION
SET DOC_ID=DOC_ID+1
GROUP BY DATUM;

但是没有成功,请知道的人。

我建议 不要 进行此更新,而是使用以下 select 和 DENSE_RANK:

SELECT DATUM, ID, NAME, DENSE_RANK() OVER (ORDER BY DATUM) ROW_COUNT
FROM DAILY_PRODUCTION
ORDER BY DATUM, ID;

不想维护ROW_COUNT列的原因是它可能是派生数据。因此,随着数据的变化,您可能被迫 运行 多次进行此更新。