嵌套json
今天一个客户问怎样把表中相同键值对应的文本按照一定顺序拼接起来。如果使用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的更多相关文章
- ASP.NET提取多层嵌套json数据的方法
本文实例讲述了ASP.NET利用第三方类库Newtonsoft.Json提取多层嵌套json数据的方法,具体例子如下. 假设需要提取的json字符串如下: {"name":&quo ...
- 详解ASP.NET提取多层嵌套json数据的方法
本篇文章主要介绍了ASP.NET提取多层嵌套json数据的方法,利用第三方类库Newtonsoft.Json提取多层嵌套json数据的方法,有兴趣的可以了解一下. 本文实例讲述了ASP.NET利用第三 ...
- 【Java_Spring】java解析多层嵌套json字符串
java解析多层嵌套json字符串
- 复杂json解析(json里面嵌套json)
调用第三方接口,返回一堆json,我只想取得里面的某一个属性,但是返回的比较复杂,无法直接拿到属性,格式类似于这样: {"video":{"id":" ...
- 复习解析嵌套json
在网络上找的一些经典的例子复习使用 一,解析嵌套json字符串,一个json字符串中嵌套另一个json字符串 { "msg": { "resCode": &qu ...
- 利用FastJson,拼接复杂嵌套json数据&&直接从json字符串中(不依赖实体类)解析出键值对
1.拼接复杂嵌套json FastJson工具包中有两主要的类: JSONObject和JSONArray ,前者表示json对象,后者表示json数组.他们两者都能添加Object类型的对象,但是J ...
- Logstash下字段以及嵌套Json字段类型转换
前言 从filebeat传输到Logstash的数据,某个字段需要由string类型装换成float类型.但是不管怎么改logstash的配置文件都不生效,其实官方文档都有,但是具体细节方面的东西就得 ...
- 【golang】json数据解析 - 嵌套json解析
@ 目录 1. 通过结构体映射解析 2. 嵌套json解析-map 1. 通过结构体映射解析 原数据结构 解析 // 结构体 type contractJson struct { Data []tra ...
- c#多层嵌套Json
Newtonsoft.Json.Net20.dll 下载请访问http://files.cnblogs.com/hualei/Newtonsoft.Json.Net20.rar 在.net 2.0中提 ...
- 提取多层嵌套Json数据
在.net 2.0中提取这样的json {"name":"lily","age":23,"addr":{"ci ...
随机推荐
- Dreamweaver层使用八定律
当然,这些并非真正的定律,而只是一些有益的忠告,使你免陷于使用层时可能的困顿中.原来有九条定律的,我们精简掉一条,还有下面的八条: 1. 如果你要嵌套层,决不要使用多重父层,应共享一个共同的单一父层. ...
- Java Script 学习笔记
JS编程习惯类: 1. 命名 著名的变量命名规则 只是因为变量名的语法正确,并不意味着就该使用它们.变量还应遵守以下某条著名的命名规则: Camel 标记法 首字母是小写的,接下来的字母都以大写字符开 ...
- 使用webview加载html图片、表单超屏幕问题
webView加载html代码时,使用webView自带的 scalesPageToFit 可以解决图片所带来的超过屏幕问题:但是,所带来的问题就是文字变小了,怎样让图片边小,并且文字还是原来html ...
- php中函数 vsprintf() 和 var_export()
把格式化字符串写入变量中: <?php $number = 9; $str = "Beijing"; $txt = vsprintf("There are %u m ...
- 用perl发送数据到钓鱼站
一个皮皮果的游戏很火 估计很多人想黑 偶然发现一个钓鱼站: http://ppgpergame.com/ 钓用户名与密码 抓包后发现数据会发送到: http://ppgpergame.com/db.a ...
- doT模板
框架源码地址 https://github.com/olado/doT <div id="main"> <script id="banner-templ ...
- VHDL设计问题
在做算术运算的时候,不可以用std_ulogic_vector,必须是std_logic_vector.
- Android设置对话框去除黑边
在res/values/styles.xml文件中添加如下内容 <style name="dialog" parent="@android:style/Theme. ...
- Linux系统安装rar压缩软件
将 hebaodans.com 目录打包为 hebaodans.rar # rar a hebaodans.rar ./hebaodans.com/ 解压 hebaodans.rar 到当前目录 # ...
- article标签和aside标签两者的理解
article标签,使用后感觉和P(段落)差不多,语义化的标签.<aside> 标签定义article以外的内容(可用做文章的侧栏). 语义化的标签. html 标签有几种分类,其中有一 ...