postgresql 合并函数 经常使用,今天我们介绍两个。
1、函数:string_agg('' , '') 把字符串拼接成一行 ,例如:
select string_agg(name , ',') from user
2、如果有参数不是字符串格式,可以转化一下,比如: id||''
select string_agg( id||'' , ',')from user where id <8
3、array_to_string--将sql中的数组转为字符串,array_agg --将sql中的数据转为数组处理,一般情况下两个配合使用,例如“
select type , array_to_string(array_agg(name),',') from user_info group by type;
查询结果如下格式:
postgresql 合并函数 经常使用,今天我们介绍两个。1、函数:string_agg('' , '') 把字符串拼接成一行 ,例如:select string_agg(name, ',') from user2、如果有参数不是字符串格式,可以转化一下,比如: id||''select string_agg( id||'' , ',')from userwhere id <83、array_to_string--将sql中的数组转为字符串,array_agg --将sql中...
string
_
agg
,
array
_
agg
这两个
函数
的功能大同小异,只不过
合并
数据的类型不同。
https://www.
postgresql
.org/docs/9.6/static/functions-
agg
regate.html
array
_
agg
(expression)
把表达式变成一个数组 一般配合
array
_to_
string
()
函数
使用
string
_
agg
(expression, de
2017新增了
string
_
agg
函数
,可以轻松实现分组
合并
字符串,而不是用xml path,或者写个自定义
函数
来实现。
STRING
_
AGG
( expression, separator ) [ ]
WITHIN GROUP ( ORDER BY [ ASC | DESC ] )
有2个参数,第1个是要合
CREATE
AGG
REGATE
array
_
agg
(anyelement)
sfunc =
array
_append, -- 每行的操作
函数
,将本行append到数组里
stype = any
array
, -- 聚集后返回数组类型
initcond = '{}' -- 初始...
let arr2 = [];
arr1.forEach(function (self, index, arr) {
console.log(arr.indexOf(self),index)
//0 0
//1 1
//0 2
//3 3
//0 4
arr.indexOf(self) === index ? arr2.push(self) : null;
PostgreSQL
12/
PostgreSQL
11/
PostgreSQL
10分区插件pg_pathman1.5.11的RPM格式安装包,文件中包含了3个文件:
pg_pathman10-1.5.11-1.rhel7.x86_64.rpm
pg_pathman11-1.5.11-1.rhel7.x86_64.rpm
pg_pathman12-1.5.11-1.rhel7.x86_64.rpm
本文限自己小结,如有问题欢迎指出
1.UNNEST
:将
ARRAY
转换为一组行,即平展操作,可以使用UNNEST运算符。UNNEST获取一个
ARRAY
,表中的每一行都是该
ARRAY
中的元素。
select UNNEST(列)
2.
array
_
agg
(expression)
把表达式变成一个数组,一般配合
array
_to_
string
()
函数
使用
array
_
agg
#不仅可以
去重
,还可以排序
string
_
agg
(distinct couln, ‘,’ order by排序)
couln:列
`
string
_
agg
`是一个在SQL中常用的聚合
函数
,它可以将一列中的多个值
合并
成一个字符串,并且可以指定一个分隔符来分隔这些值。例如,以下是在
PostgreSQL
中使用`
string
_
agg
`
函数
将一列中的多个值
合并
成一个以逗号分隔的字符串的示例:
SELECT
string
_
agg
(name, ', ') as names
FROM users
WHERE id IN (1, 2, 3);
这将会返回一个字符串,其中包含了`users`表中`id`为1、2、3的行的`name`列的值,这些值以逗号分隔。