微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

先来看看grouping set的例子:

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

再来看rollup函数

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

再来看cube函数

可以发现,cube(a,b,c)grouping sets((a,c),(a,b),(a),(b,(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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐