我在PostgreSQL中有一个带有“国家”列的表,其中有32个不同的字符串值,但行数更多
如何为每个唯一的字符串分配一个特定的数值(例如'Austria'= 1,'Australia'= 2,...,'USA'= 32) 我可以使用UPDATE语句,但是,在这种情况下,我想手动进行32个国家/地区并不是一个好方法。我希望还有另一种方法。
答案 0 :(得分:0)
在Postgres中,这里是一种方法:
update country c
set col = cc.seqnum
from (select c.*, row_number() over (order by country) as seqnum
from country c
) cc
where cc.country = c.country;
答案 1 :(得分:-1)
您可以轻松地在country
表中添加新的ID列来满足此需求。
请参见以下语法:
Alter Table country
Add Id Int Identity(1, 1)
Go