博客
关于我
presto grouping操作
阅读量:665 次
发布时间:2019-03-15

本文共 1958 字,大约阅读时间需要 6 分钟。

Analyzing the grouping operation in SQL queries is essential for understanding how data is aggregated and grouped. The grouping function is particularly useful when combined with GROUPING SETS, ROLLUP, CUBE, or GROUP BY, as it helps in specifying the columns to be considered during the grouping process.

The primary purpose of the grouping operation is to generate a binary vector (or bitmask) where each bit represents the presence or absence of a specific column in the grouping set. When a column is present in the group, its corresponding bit is set to 0, and if it is absent, the bit is set to 1. These binary values are then converted into a decimal number, providing a clear and concise indication of which columns are included in the group.

For instance, consider the following query:

SELECT origin_state, origin_zip, destination_state, sum(package_weight), grouping(origin_state, origin_zip, destination_state) FROM shipping GROUP BY GROUPING SETS ((origin_state), (origin_state, origin_zip), (destination_state));

In this example, the grouping() function is applied to three columns: origin_state, origin_zip, and destination_state. The resulting bitmask will be a 3-bit number. If all three columns are present in the group, the bitmask will be 001, which converts to the decimal value 1. If only origin_state is present, the bitmask is 011 (decimal 3), and so on.

It's important to note that the grouping() function must be combined with one of the specified grouping functions and that its parameters must exactly match those used in the corresponding GROUPING SETS, ROLLUP, CUBE, or GROUP BY clause. This ensures that the correct columns are considered during the grouping process.

For a more detailed analysis, you can refer to the documentation or examples provided by your SQL dialect. Always ensure that the columns specified in the grouping() function match those in the corresponding grouping clause to avoid errors or incorrect results.

转载地址:http://qqsmz.baihongyu.com/

你可能感兴趣的文章
Memcached:Node.js 高性能缓存解决方案
查看>>
memcache、redis原理对比
查看>>
memset初始化高维数组为-1/0
查看>>
Metasploit CGI网关接口渗透测试实战
查看>>
Metasploit Web服务器渗透测试实战
查看>>
Moment.js常见用法总结
查看>>
MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
查看>>
MongoDB学习笔记(8)--索引及优化索引
查看>>
ms sql server 2008 sp2更新异常
查看>>
MS UC 2013-0-Prepare Tool
查看>>
msbuild发布web应用程序
查看>>
MSCRM调用外部JS文件
查看>>
MSEdgeDriver (Chromium) 不适用于版本 >= 79.0.313 (Canary)
查看>>
msf
查看>>
MSSQL数据库查询优化(一)
查看>>
MSSQL日期格式转换函数(使用CONVERT)
查看>>
MSTP多生成树协议(第二课)
查看>>
MSTP是什么?有哪些专有名词?
查看>>
Mstsc 远程桌面链接 And 网络映射
查看>>
Myeclipse常用快捷键
查看>>