为了账号安全,请及时绑定邮箱和手机立即绑定

带有元素号的PostgreSQL unnest()

带有元素号的PostgreSQL unnest()

宝慕林4294392 2019-06-09 17:02:47
带有元素号的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


查看完整回答
反对 回复 2019-06-09
  • 3 回答
  • 0 关注
  • 2283 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信