1. 分组聚合

ARRAY_AGG(参数1:字段名称) : 聚合同一个字段的多个值为一个数组对象

select product_name_in_sci_pdp,count(1),ARRAY_AGG(npi_product_name) from dim_product_mapping GROUP BY product_name_in_sci_pdp

2 数组拆分

2.1 数组拆分,还原为多行

select 'A' as fieldName1,'B' as fieldName2, "unnest"(ARRAY['CN','AR','BR','IN']) AS plant

2.2 数组拆分,重组为一个字符串

array_to_string(参数1:数组,参数2:拼接字符) : 将数组中的值拼接成新的字符串

select product_name_in_sci_pdp,count(1),array_to_string(ARRAY_AGG(npi_product_name),',') from dim_product_mapping GROUP BY product_name_in_sci_pdp

2.3 字符串拆分为数组

string_to_array(参数1:原始字符串,参数2:拆分字符) : 将原始字符串按拆分字符串拆分为一个数组

with t_level_1 as(
SELECT '123,456,789'::VARCHAR as include_plants
)
SELECT string_to_array(include_plants, ',') as plants from t_level_1

3. 数组去重

没有现成的方法,需要自己写一个方法

CREATE OR REPLACE FUNCTION "public"."array_distinct"(anyarray)RETURNS "pg_catalog"."anyarray" AS $BODY$ SELECT ARRAY(SELECT DISTINCT unnest($1));
$BODY$LANGUAGE sql VOLATILECOST 100

示例

select product_name_in_sci_pdp,count(1),array_distinct(ARRAY_AGG(npi_product_name)) from dim_product_mapping GROUP BY product_name_in_sci_pdp

4. 数组取第一个元素

需要去一下重

SELECT demand_region,(array_distinct(ARRAY_AGG(demand_factory)))[1] from dim_factory_sourcing_dependency where demand_process='Ship FG'  GROUP BY demand_region ORDER  BY demand_region

5.单个元素关联数组

使用 any() 方法实现

OR group_id = any(string_to_array(mgmt_team_group, ','))

其他的后续补充…
参考:
https://blog.csdn.net/shulinshulinzi/article/details/115245325?spm=1001.2101.3001.6650.18&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-18.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-18.pc_relevant_default&utm_relevant_index=23

postgresql 数组函数全集相关推荐

  1. postgresql字符串函数全集

    1. trim 删除字符串头部/两端/尾部的指定字符 trim([leading | trailing | both] [characters] from string) 示例:去掉字段首尾多余空格 ...

  2. PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.18. 数组函数和操作符...

    9.18. 数组函数和操作符 表 9.48显示了可以用于数组类型的操作符. 表 9.48. 数组操作符 操作符 描述 例子 结果 = 等于 ARRAY[1.1,2.1,3.1]::int[] = AR ...

  3. PostgreSQL数组操作符函数

    9.18. 数组函数和操作符 表 9-45显示了可以用于 array 类型的操作符. 表 9-45. Array 操作符 操作符 描述 例子 结果 = 等于 ARRAY[1.1,2.1,3.1]::i ...

  4. Postgresql数组操作符及数组函数

    表1.数组操作符 操作符 描述 例子 结果 = 等于 ARRAY[1.1,2.1,3.1]::int[] = ARRAY[1,2,3] t <> 不等于 ARRAY[1,2,3] < ...

  5. php手册数组函数,PHP - Manual手册 - 函数参考 - Array 数组函数 - array_diff计算数组的差集...

    PHP - Manual手册 - 函数参考 - Array 数组函数 - array_diff计算数组的差集 array_diff (PHP 4 >= 4.0.1, PHP 5) array_d ...

  6. PostgreSQL常用函数以及操作符

    一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是PostgreSQL中提供的比较操作符列表: 操作符 描述 < ...

  7. PostgreSQL之函数和操作符

    一.逻辑操作符: 常用的逻辑操作符有:AND.OR和NOT.其语义与其它编程语言中的逻辑操作符完全相同. 二.比较操作符: 下面是PostgreSQL中提供的比较操作符列表: 操作符 描述 < ...

  8. PostgreSQL 数组忽略大小写匹配

    PostgreSQL 数组忽略大小写匹配 作者 digoal 日期 2016-11-19 标签 PostgreSQL , 开发 , 数组 , any匹配 , 忽略大小写 背景 一位兄弟的开发需求,要求 ...

  9. Numpy 一维、二维数组、size/dtype/shape属性、数组函数arange/linspace/logspace /diag/zeros/ones/random 、多维数组索引和筛选)

    参考: https://gitbook.cn/gitchat/column/undefined/topic/5e3bceadec8d9033cf924665 打开 IPython ,创建 Python ...

最新文章

  1. 推荐十一个吊炸天的AI学习项目
  2. wxpython输入框_基于wxPython的GUI实现输入对话框(1)
  3. ASP中关于全局页面的作用 asax文件
  4. 微信怎么开免流量服务器,微信如何省流量?关掉这几个功能 省一大半流量
  5. [svc][op]从历险压缩日志里网站pv uv统计
  6. 嵌入式Linux下Qt的中文显示
  7. LeetCode 1003. 检查替换后的词是否有效(栈)
  8. JEECG 缓存用法
  9. linux python开发环境sql数据迁移到mysql_运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程,把获取的信息存入数据库...
  10. ARM汇编EQU伪指令
  11. vue 动态scss变量,包含16进制转rgba,rgba转16进制
  12. matlab_使用dsolve函数求解微分方程(逻辑斯蒂模型)示例
  13. 云计算简史_云计算的概念和发展历史
  14. 适合学生党上手测试的免费云服务器推荐
  15. python可视化:Plotting with pandas and seaborn
  16. 粤嵌实习-linux下madplay播放器的下载和使用、线程的介绍和创建一个广告循环播放线程
  17. 专利解析|多维建模结合AI识别商品特征的方法
  18. moveit和gazebo的联合抓取仿真
  19. gitee如何删除仓库
  20. 重测信度及常见评价方法

热门文章

  1. HTML CSS 贵美商城网页布局
  2. HTML字符编码简介
  3. 今年双十二值得买的数码好物推荐!双十二数码产品抢购攻略
  4. 数据结构实验二——建立具有至少10个元素的顺序表或单链表,并能对该表进行查找、删除等基本操作。
  5. 由集合范畴到事实价值
  6. Airfoil 5.8.4 特别版 Mac 多平台音频同步播放神器
  7. Appium + java
  8. 苹果xr截屏怎么截_iPhone7如何截屏 iPhone7截屏方法【详解】
  9. Win10上装双系统(转载)
  10. PAT 1025 PAT Rankings 思路与题解