| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
lwte0928
6年前发布

postgresql9.5新特性GROUPING SETS, CUBE, and ROLLUP

来自: http://my.oschina.net/u/2381678/blog/618914


先来看看grouping set的例子:

Grouping set就是对列出的每一个字段组进行group by操作,如果字段组为空,则不进行分组处理。

再来看rollup函数:

可以发现rollup(id1,id2,id3)grouping set((id1,id2,id3),(id1,id2),(id1),())是等效的。

再来看cube函数:

可以发现,cube(a,b,c)grouping sets((a,b,c),(a,b),(a,c),(a),(b,c),(b),(c),())是等效的。

GROUPING函数,grouping函数返回一个二进制数字的十进制表示。看例子:

第一行,分组包括id1id2,二进制数字是:00,转化为十进制:0

第二行,分组包括id1id2,二进制数字是:00,转化为十进制:0

第三行,分组包括id1,不包括id2,二进制数字是:01,转化为十进制:1

第四行,分组包括id1id2,二进制数字是:00,转化为十进制:0

第五行,分组包括id1id2,二进制数字是:00,转化为十进制:0

第六行,分组包括id1,不包括id2,二进制数字是:01,转化为十进制:1

第七行,分组不包括id1,不包括id2,二进制数字是:11,转化为十进制:3

 

 本文由用户 lwte0928 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1456154391745.html
PostgreSQL 数据库服务器