GROUPING & GROUPING_ID & GROUP_ID & GROUPING SETS
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,一、grouping()函数必须接受一列且只能接受一列做为其参数。参数列值为空返回1,参数列值非空返回0。二、grouping_id()函数GROUPING_ID可以接收多个列,返回值为按参数排列顺序
千家信息网最后更新 2026年11月02日GROUPING & GROUPING_ID & GROUP_ID & GROUPING SETS
一、grouping()
函数必须接受一列且只能接受一列做为其参数。参数列值为空返回1,参数列值非空返回0。
二、grouping_id()函数
GROUPING_ID可以接收多个列,返回值为按参数排列顺序,依次对各个参数使用grouping()函数,并将结果值依次串成一串二进制数然后再转化为十进制所得到的值。
例如:grouping(A) = 0 ; grouping(B) = 1;
则:grouping_id(A,B) = (01) = 1;
grouping_id(B,A) = (10) = 2;
例句:
- SELECT DIVISION_ID,
- JOB_ID,
- GROUPING(DIVISION_ID) AS DIV_GRP,
- GROUPING(JOB_ID) AS JOB_GRP,
- GROUPING_ID(DIVISION_ID, JOB_ID) AS GRP_ID,
- SUM(SALARY) FROM EMPLOYEES2
- GROUP BY CUBE(DIVISION_ID, JOB_ID)
- ORDER BY DIVISION_ID, JOB_ID;
三、GROUP_ID()函数
GROUP_ID函数可用于消除GROUP BY子句返回的重复记录。GROUP_ID()不接受任何参数。如果某个特定的分组重复出现n次,那么GROUP_ID()返回从0到n-1之间的一个整数。
例句:
- SELECT DIVISION_ID, JOB_ID, GROUP_ID(), SUM(SALARY)
- FROM EMPLOYEES
- GROUP BY DIVISION_ID, ROLLUP(DIVISION_ID, JOB_ID);
四、GROUPING SETS
grouping sets 相当与将多个group by的分组条件合并,空的分组条件则是所有数据的总合计。
例句:
- SELECT GROUPING_ID(S.PRODUCT, S.COUNTRY),
- GROUPING(PRODUCT),
- GROUPING(COUNTRY),
- PRODUCT,
- COUNTRY,
- SUM(SALES)
- FROM PLCH_SALES S
- GROUP BY GROUPING SETS((S.PRODUCT),(S.COUNTRY),());
参数
函数
例句
分组
多个
条件
之间
二进制
十进制
子句
数据
整数
结果
顺序
十进
并将
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
保险科技 互联网保险
广州大一互联网络科技有限公司
互联网通讯科技
互联网金融 科技金融
互联网科技英文
以房互联网科技
唐信互联网科技
亿策互联网科技
深圳天众互联网科技公司
济南华为互联网科技产业总部基地
创业天下互联网科技有限公司
贵州叶脉互联网科技有限公司所属行业
南博望互联网科技有限公司
元气玛特互联网科技公司是外包吗
互联网企业科技类企业如何做账
雨阳互联网卡科技有限公司
互联网科技年终奖
国产互联网科技公司
10位科技互联网大佬
河南商务圈互联网科技有限公司
互联网科技
西安纸贵互联网科技有限公司
伴你行互联网科技有限公司
互联网科技公司介绍
卓越科技互联网 招聘
受益于互联网科技的高速发展
新兴科技互联网创新大赛颁奖典礼
华夏恒生互联网科技013171
中国互联网公司排名锤子科技
山东星卡互联网科技有限公司官网