GROUPING的用法
GROUPING
Syntax
grouping::=
Text description of grouping
Purpose
GROUPING
distinguishes superaggregate rows from regular grouped rows. GROUP
BY
extensions such as ROLLUP
and CUBE
produce superaggregate rows where the set of all values is represented by null. Using the GROUPING
function, you can distinguish a null representing the set of all values in a superaggregate row from a null in a regular row.
The expr
in the GROUPING
function must match one of the expressions in the GROUP
BY
clause. The function returns a value of 1 if the value of expr
in the row is a null representing the set of all values. Otherwise, it returns zero. The datatype of the value returned by the GROUPING
function is Oracle NUMBER
.
See Also:
group_by_clause of the |
Examples
In the following example, which uses the sample tables hr.departments
and hr.employees
, if the GROUPING
function returns 1 (indicating a superaggregate row rather than a regular row from the table), then the string "All Jobs" appears in the "JOB" column instead of the null that would otherwise appear:
SELECT DECODE(GROUPING(department_name), 1, 'All Departments', department_name) AS department, DECODE(GROUPING(job_id), 1, 'All Jobs', job_id) AS job, COUNT(*) "Total Empl", AVG(salary) * 12 "Average Sal" FROM employees e, departments d WHERE d.department_id = e.department_id GROUP BY ROLLUP (department_name, job_id); DEPARTMENT JOB Total Empl Average Sal ------------------------------ ---------- ---------- ----------- Accounting AC_ACCOUNT 1 99600 Accounting AC_MGR 1 144000 Accounting All Jobs 2 121800 Administration AD_ASST 1 52800 Administration All Jobs 1 52800 Executive AD_PRES 1 288000 Executive AD_VP 2 204000 Executive All Jobs 3 232000 Finance FI_ACCOUNT 5 95040 Finance FI_MGR 1 144000 Finance All Jobs 6 103200 . . .
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人