我有一个包含user_id
和user_name
列的表。我必须将另一列作为ID
。我想填充ID如下。
| 用户名|ID| ID |
| - -----|- -----| ------------ |
| ABC|一个| 1 |
| BCD|一个| 1 |
| ABC| 2| 2 |
| ABC|三个| 3 |
| XYZ|一个| 1 |
首先,它需要找到唯一的user_id
及其出现次数,然后根据出现次数将1分配给n。
我可以通过使用row_number()获得输出
select row_number() over (partition by user_id order by user_id) as seq ,user_id,user_name from test_csv
我如何用上面查询出来的seq
更新ID。
1条答案
按热度按时间x4shl7ld1#
使用
MERGE
语句并在ROWID
伪列上关联:或相关的
UPDATE
:其中,对于样本数据:
然后,在
MERGE
或UPDATE
之后,该表包含:| 用户名|ID| ID |
| - -----|- -----| ------------ |
| ABC|一个| 1 |
| BCD|一个| 1 |
| ABC| 2| 2 |
| ABC|三个| 3 |
| XYZ|一个| 1 |
fiddle