带有元素号的PostgreSQL unnest()当我有一个带有分隔值的列时,我可以使用unnest()职能:myTableid | elements---+------------1 |ab,cd,efg,hi2 |jk,lm,no,pq3 |rstuv,wxyzselect id, unnest(string_to_array(elements, ',')) AS elemfrom myTableid | elem---+-----1 | ab1 | cd1 | efg1 | hi2 | jk...如何包括元素编号?即:id | elem | nr---+------+---1 | ab | 11 | cd | 21 | efg | 31 | hi | 42 | jk | 1...我想要原始位置源字符串中的每个元素。我试过使用窗口函数(row_number(), rank()(等等)但我总是1..也许是因为它们在源表的同一行中?我知道这是个糟糕的桌子设计。不是我的,我只是想修好它。
3 回答
慕的地8271018
TA贡献1796条经验 获得超4个赞
select v.*, row_number() over (partition by id order by elem) rn from(select id, unnest(string_to_array(elements, ',')) AS elem from myTable) v
添加回答
举报
0/150
提交
取消