GROUP_CONCAT

PostgreSQL中的group_concat使用

妖精的绣舞 提交于 2019-12-02 22:53:31
group_concat是mysql中的一个聚集函数,挺好用的,mysql的group_concat使用可参考:http://my.oschina.net/Kenyon/blog/70480。在postgresql中实现这个功能倒也容易,可以用array的转换或者函数string_agg()来做。 DB环境:postgresql 9.1.2 一.测试数据准备 postgres=# create table t_kenyon(id int,name text); CREATE TABLE postgres=# insert into t_kenyon values(1,'kenyon'),(1,'chinese'),(1,'china'),('2','american'),('3','japan'),('3','russian'); INSERT 0 6 postgres=# select * from t_kenyon order by 1; id | name ----+---------- 1 | kenyon 1 | chinese 1 | china 2 | american 3 | japan 3 | russian (6 rows) 二.实现过程 1.以逗号为分隔符聚集 postgres=# select array_to_string(ARRAY(SELECT

MySQL连接字符串函数CONCAT,CONCAT_WS,GROUP_CONCAT使用总结

老子叫甜甜 提交于 2019-11-27 20:23:34
在Mysql中两个字符串相加不能用+号,加号是用来做数字相加的,在mysql中要连接字符串需要用CONCAT或者CONCAT_WS函数: Mysql CONCAT函数 语法: CONCAT(str1,str2...) 例如: select OCNCAT('AB','CD') 将输出ABCD 需要注意的是: SELECT CONCAT('abc',NULL)其中有一个字符串为NULL时将输出NULL Mysql 的CONCAT_WS函数 的CONCAT_WS函数()函数, 表示concat with separator,即有分隔符的字符串连接 select concat_ws(',','11','22','33'); 输出: 11,22,33 需注意concat_ws的参数中有null的话,并非都返回null,例如concat_ws(',','ab',NULL)将输出ab Mysql的GROUP_CONCAT()函数 从名字可以看出这个函数是一个聚合函数,在group语句中使用,可以将多行的字符串按分组整合成一个字符串。 语法: GROUP_CONCAT([DISTINCT] expr [,expr ...][ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]][SEPARATOR