请问PG在把单行字符串拆分成多行之后,怎么为每行加上ID?
25M
比如某个表的字段值为a,b,c,d
通过逗号拆分,并给拆分后的数据加上RID,不知道有没有类似的分析函数?
--现在的值
ID QUEE
1 a,b,c,d
--需要转换的值
ID RID QUEE
1 1 a
1 2 b
1 3 c
1 4 d
另外,RID按照拆分的顺序显示,如1对应a,4对应d。
收藏 复制链接 微信扫码分享
在小程序上查看 分享
3条回答
默认
最新
DROP TABLE IF EXISTS test;
CREATE TABLE test(id int,name text);
INSERT INTO test (id, name) VALUES (1, 'a,b,c,d'), (2, 'd,c,a');
SELECT t.id,
row_number() over(PARTITION BY t.id),
t.name
FROM (SELECT id,
regexp_split_to_table(name, ',') AS name
FROM test) t;
不知道这个可否?
评论
有用 0 打赏 0