gpt4 book ai didi

postgresql - regexp_split_to_table 和 row_number

转载 作者:行者123 更新时间:2023-11-29 11:53:10 28 4
gpt4 key购买 nike

我有这样的字符串数据表:

id | string_data
1 | red;green;blue
2 | orange
3 | purple;cyan

我需要将字符串数据拆分为具有行号的项目:

id | num | item
1 | 1 | red
1 | 2 | green
1 | 3 | blue
2 | 1 | orange
3 | 1 | purple
3 | 2 | cyan

我知道 regexp_split_to_table() 但我无法将它与 row_number() 结合使用。有人知道如何解决这个问题吗?谢谢!

最佳答案

如果您不需要正则表达式,使用 string_to_array() 而不是 regexp_split_to_table() 效率更高。要获取数组索引,请使用 with ordinality

select t.id, 
x.idx,
x.word
from the_table t,
unnest(string_to_array(string_data, ';')) with ordinality as x(word, idx)
order by t.id, x.idx;

关于postgresql - regexp_split_to_table 和 row_number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44117035/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com