今天一个客户问怎样把表中相同键值对应的文本按照一定顺序拼接起来。如果使用SQL实现将非常麻烦,并且效率低下。GP4.1以后提供了一个函数array_agg可以方便快捷,高效的实现该功能

比如原始查询是

test1=# select n_regionkey,n_name from nation;
 n_regionkey |          n_name
-------------+---------------------------
           3 | UNITED KINGDOM
           1 | BRAZIL
           2 | VIETNAM
           4 | IRAN
           4 | SAUDI ARABIA
           4 | JORDAN
           0 | ALGERIA
           4 | EGYPT
           4 | IRAQ
           0 | ETHIOPIA
           1 | ARGENTINA
           3 | ROMANIA
           2 | CHINA
           2 | JAPAN
           0 | MOROCCO
           2 | INDONESIA
           1 | UNITED STATES
           0 | MOZAMBIQUE
           3 | RUSSIA
           3 | GERMANY
           1 | CANADA
           1 | PERU
           0 | KENYA
           2 | INDIA
           3 | FRANCE

我们要把相同地区的代码的国家,按照字母顺序拼接在一起,放在一行当中,并且显示地区代码。通过arrary_agg可以很方便的实现该功能

test1=# select n_regionkey,array_agg(trim(n_name) order by n_name) from nation group by n_regionkey;
 n_regionkey |                    array_agg
-------------+--------------------------------------------------
           2 | {CHINA,INDIA,INDONESIA,JAPAN,VIETNAM}
           4 | {EGYPT,IRAN,IRAQ,JORDAN,"SAUDI ARABIA"}
           1 | {ARGENTINA,BRAZIL,CANADA,PERU,"UNITED STATES"}
           3 | {FRANCE,GERMANY,ROMANIA,RUSSIA,"UNITED KINGDOM"}
           0 | {ALGERIA,ETHIOPIA,KENYA,MOROCCO,MOZAMBIQUE}

嵌套json的更多相关文章

  1. ASP.NET提取多层嵌套json数据的方法

    本文实例讲述了ASP.NET利用第三方类库Newtonsoft.Json提取多层嵌套json数据的方法,具体例子如下. 假设需要提取的json字符串如下: {"name":&quo ...

  2. 详解ASP.NET提取多层嵌套json数据的方法

    本篇文章主要介绍了ASP.NET提取多层嵌套json数据的方法,利用第三方类库Newtonsoft.Json提取多层嵌套json数据的方法,有兴趣的可以了解一下. 本文实例讲述了ASP.NET利用第三 ...

  3. 【Java_Spring】java解析多层嵌套json字符串

    java解析多层嵌套json字符串    

  4. 复杂json解析(json里面嵌套json)

    调用第三方接口,返回一堆json,我只想取得里面的某一个属性,但是返回的比较复杂,无法直接拿到属性,格式类似于这样: {"video":{"id":" ...

  5. 复习解析嵌套json

    在网络上找的一些经典的例子复习使用 一,解析嵌套json字符串,一个json字符串中嵌套另一个json字符串 { "msg": { "resCode": &qu ...

  6. 利用FastJson,拼接复杂嵌套json数据&&直接从json字符串中(不依赖实体类)解析出键值对

    1.拼接复杂嵌套json FastJson工具包中有两主要的类: JSONObject和JSONArray ,前者表示json对象,后者表示json数组.他们两者都能添加Object类型的对象,但是J ...

  7. Logstash下字段以及嵌套Json字段类型转换

    前言 从filebeat传输到Logstash的数据,某个字段需要由string类型装换成float类型.但是不管怎么改logstash的配置文件都不生效,其实官方文档都有,但是具体细节方面的东西就得 ...

  8. 【golang】json数据解析 - 嵌套json解析

    @ 目录 1. 通过结构体映射解析 2. 嵌套json解析-map 1. 通过结构体映射解析 原数据结构 解析 // 结构体 type contractJson struct { Data []tra ...

  9. c#多层嵌套Json

    Newtonsoft.Json.Net20.dll 下载请访问http://files.cnblogs.com/hualei/Newtonsoft.Json.Net20.rar 在.net 2.0中提 ...

  10. 提取多层嵌套Json数据

    在.net 2.0中提取这样的json {"name":"lily","age":23,"addr":{"ci ...

随机推荐

  1. Redis--Latest Windows Version

    Redis Windows Ver https://github.com/MSOpenTech/redis/releases service-install.batredis-server.exe - ...

  2. IIS SSL取消证书合法性验证

    cscript adsutil.vbs set w3svc/certcheckmode 1win 2003 IIS 6 以下执行以上代码,去除证书的合法性验证 cscript adsutil.vbs ...

  3. 前端学习 html

    Html 前端学习 <!DOCTYPE html> < lang="en"> <head> <meta charset="UTF ...

  4. JavaScript DOM编程艺术-学习笔记(总结一)

    1.1)dom-core方法:(不专属于js,支持dom的任何一种程序设计语言都可以使用它,它们的用途,也不仅限于处理网页,也可以用来处理任何一种标记语言编写处理的文档)  ①getElementBy ...

  5. centos7,yum安装的redis用systemctl无法启动

    因为之前使用显示命令启动redis的,要使redis在后台运行就需要改redis.conf中的daemonize 为yes. 这次在centos7上也顺手改了为yes,然后使用systemctl启动, ...

  6. 拦截QWebView弹出窗口

    环境 系统:win7 64位旗舰版 软件:VS2013.QT5.5.1-32位 概述 当网页打开一个新的窗口时,我们有时候需要根据URL地址来判断弹出窗口是否合理,如果合理则弹出新窗口,否则不弹出.本 ...

  7. WinSpy涉及的windows api

    WinSpy涉及的windows api WinSpy是仿造微软Spy++的开源项目,但只涉及Spy++的窗口句柄.窗口的属性.styles.类名子窗口.进程线程信息等查找功能.功能虽然不算强大,但涉 ...

  8. 总结一下js的原型和原型链

    最近学习了js的面向对象编程,原型和原型链这块是个难点,理解的不是很透彻,这里搜集了一些这方面的资料,以备复习所用 一. 原型与构造函数 Js所有的函数都有一个prototype属性,这个属性引用了一 ...

  9. Git回退到服务器某个版本正确姿势

    背景: Git协作中,成员不可避免地会提交一些错误的版本,由于Git相比SVN引入了本地仓库,操作会相对复杂,以下为姿势分解 找一个源文件RspUtils.java,加上一行注释 //测试回退git服 ...

  10. hibernate与spring整合实现transaction

    实现transaction时出现了大大小小的问题,这里会一一详解. 先贴出applicationContext.xml <?xml version="1.0" encodin ...