postgres 行列转换

摘要:
行转列imos=#createtabletest_split_to_table(idint,name_listvarchar);CREATETABLEimos=#insertintotest_split_to_tablevalues(1,'a;b;c'),(2,'d;e;f');INSERT02imos=#imos=#select*fromtest_split_to_table;id|name_l
行转列
imos=# create table test_split_to_table(id int, name_list varchar);
CREATE TABLE
imos=# insert into test_split_to_table values(1,'a;b;c'),(2,'d;e;f');
INSERT 0 2
imos=#
imos=# select * from test_split_to_table ;
 id | name_list
----+-----------
  1 | a;b;c
  2 | d;e;f
(2 rows)

imos=#
imos=#
imos=# select id, regexp_split_to_table(name_list,';') from test_split_to_table ;
 id | regexp_split_to_table
----+-----------------------
  1 | a
  1 | b
  1 | c
  2 | d
  2 | e
  2 | f
(6 rows)

列转行
imos=# create temp table test_column_to_row as select id, regexp_split_to_table(name_list,';') from test_split_to_table ;
SELECT 6
imos=# select * from test_column_to_row ;
 id | regexp_split_to_table
----+-----------------------
  1 | a
  1 | b
  1 | c
  2 | d
  2 | e
  2 | f
(6 rows)

imos=# select id, string_agg(regexp_split_to_table,';') from test_column_to_row  group by id;
 id | string_agg
----+------------
  1 | a;b;c
  2 | d;e;f
(2 rows)

免责声明:文章转载自《postgres 行列转换》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用jenkins的SSH Publishers远程执行4.4 移除控制标记下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

CRM客户关系管理系统(三)

第四章、kingadmin开发设计  4.1.kingadmin设计 django admin注册model的写法 crm/admin.py class CustomerAdmin(admin.ModelAdmin): #显示 list_display = ['name','source','contact_type','contac...

使用engine关键字指定该表使用哪个engine

建表及插入数据语句:mysql> create table salary(userid int,salary decimal(9,2));Query OK, 0 rows affected (0.11 sec)mysql> insert into salary values(1,1000),(2,2000),(3,3000),(4,4000),...

vim编辑指令(转)

跳跃指令 类似于游览器中的<前进><后退>按钮CTRL-]-> 跟着link/tag转入 (follow link/tag)CTRL-o-> 回到上一次的jump (Go back)CTRL-i-> 跳回下一个 (go forward):ju-> 显示所有的可以跳跃的地方 (print jump list)...

thinkphp 对数据库的操作

   框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下。 数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是对数据的增删改的操作,一步步的讲述一下框架对数据库的操作 想要操作数据库,第一步必然是要:链接数据库 一、链接数据库 (1)找到模块文件夹中的Conf文件夹,然后进行编...

Ant design vue table 单击行选中 勾选checkbox

最近了解Ant design 设计table 单击行选中checkedbox功能,相比于element的 @row-click 再触发toggleRowSelection,ant design的api就没那么清晰了,言归正传 期望:Ant design table单击行选中 勾选checkedbox 实现: 单选: onClickRow(record)...

官方online ddl

一、5.6版本online DDL 操作 In Place Rebuilds Table Concurrent DML Only Modifies Metadata 说明 add/create secondary index yes No yes* no 当表上有FULLTEXT索引除外,需要锁表,阻塞写 drop index yes no y...