Sql 如何在Postgres中为特定列中的相似数据值获取数字序列?
我正在寻找一种有效的方法,在那里我可以按顺序为每个组分配数字Sql 如何在Postgres中为特定列中的相似数据值获取数字序列?,sql,database,postgresql,group-by,grouping,Sql,Database,Postgresql,Group By,Grouping,我正在寻找一种有效的方法,在那里我可以按顺序为每个组分配数字 Record Group GroupSequence -------|---------|-------------- 1 Car 1 2 Car 2 3 Bike 1 4 Bus 1 5 Bus 2 6 Bus 3 我遇到了这个问题:。但我的用例与它略有不同。关于如何通过一个查询来
Record Group GroupSequence
-------|---------|--------------
1 Car 1
2 Car 2
3 Bike 1
4 Bus 1
5 Bus 2
6 Bus 3
我遇到了这个问题:。但我的用例与它略有不同。关于如何通过一个查询来实现这一点,您有什么想法吗?您正在寻找
行号()
你可以在需要的时候计算,所以我觉得没有理由存储它。但是,如果愿意,可以更新这些值:
update t
set group_sequence = tt.new_group_sequence
from (select t.*,
row_number() over (partition by group order by record) as new_group_sequence
from t
) tt
where tt.record = t.record;
update t
set group_sequence = tt.new_group_sequence
from (select t.*,
row_number() over (partition by group order by record) as new_group_sequence
from t
) tt
where tt.record = t.record;