Postgresql Array Functions 应用

在 PTT Database 版看到这篇问题: https://www.ptt.cc/bbs/Database/M.1554802071.A.872.html试解答如下:create table ithelp190410 (  id int not null primary key, tagstr text not null);insert into ithelp190410 values(1, 'tag1;tag2;tag3'),(2, 'tag2;tag3;tag4'),(3, 'tag3;tag4;tag5;tag1');-- string_to_array()select id     , tagstr     , string_to_array(tagstr, ';') as stary  from ithelp190410;+----+---------------------+-----------------------+| id |       tagstr        |         stary         |+----+---------------------+-----------------------+|  1 | tag1;tag2;tag3      | {tag1,tag2,tag3}      ||  2 | tag2;tag3;tag4      | {tag2,tag3,tag4}      ||  3 | tag3;tag4;tag5;tag1 | {tag3,tag4,tag5,tag1} |+----+---------------------+-----------------------+(3 rows)-- unnest()select unnest(string_to_array(tagstr, ';')) as un_nest  from ithelp190410;+---------+| un_nest |+---------+| tag1    || tag2    || tag3    || tag2    || tag3    || tag4    || tag3    || tag4    || tag5    || tag1    |+---------+(10 rows)-- group byselect elem     , count(elem)  from (select unnest(string_to_array(tagstr, ';')) as elem          from ithelp190410) a group by elem order by elem; +------+-------+| elem | count |+------+-------+| tag1 |     2 || tag2 |     2 || tag3 |     3 || tag4 |     2 || tag5 |     1 |+------+-------+(5 rows)

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章