GROUP函数-GROUP_ID,GROUPING,GROUPING_ID】的更多相关文章

GROUP_ID 首先我们看看官方的解释: 大意是GROUP_ID用于区分相同分组标准的分组统计结果. 解释起来比较抽象,下面我们来看看具体的案例. 例1:单一分组 SQL> select group_id(),deptno,sum(sal) from emp group by rollup(deptno); GROUP_ID() DEPTNO SUM(SAL) ---------- ---------- ---------- rollup(deptno)只是一个唯一的分组,所以产生的group…
干oracle 047文章12当问题,经验group by 声明.因此邂逅group by  rollup,decode,grouping,nvl,nvl2,nullif,RATIO_TO_REPORT等一下. 1. decode  与if...then,case...when...这类流数据语句功能差点儿相同 decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义例如以下: IF 条件=值1 THEN RETURN(值1) ELSIF 条件=值2 TH…
在我们制作报表的时候常常需要分组聚合.多组聚合和总合.如果通过另外的T-SQL语句来聚合难免性能太差.如果通过报表工具的聚合功能虽说比使用额外的T-SQL语句性能上要好很多,不过不够干脆,还是需要先生成整个结果集然后再聚合,而且最最重要的时很多情况下报表的聚合功能可能没办法达到我们需要的效果.GROUPING SETS, CUBE, ROLLUP, GROUPING, GROUPING_ID这几个聚合函数的作用就是在原始语句的基础上完成很多像财务报表需要的聚合功能. GROUPING SETS相…
T-SQL 多个分组集共有三种 GROUPING SETS, CUBE, 以及ROLLUP, 其中 CUBE和ROLLUP可以当做是GROUPING SETS的简写版 示例数据库下载: http://files.cnblogs.com/files/haseo/TSQL2012.rar GROUPING SETS 列出所有你设置的分组集 SELECT shipperid, YEAR(shippeddate) AS shipyear, COUNT(*) AS numorders FROM Sales…
GROUP_ID 首先我们看看官方的解释: 大意是GROUP_ID用于区分相同分组标准的分组统计结果. 解释起来比较抽象,下面我们来看看具体的案例. 例1:单一分组 SQL> select group_id(),deptno,sum(sal) from emp group by rollup(deptno); GROUP_ID() DEPTNO SUM(SAL) ---------- ---------- ---------- 0 10 8750 0 20 10875 0 30 9400 0 2…
1.创建表 Staff CREATE TABLE [dbo].[Staff]( ,) NOT NULL, ) NULL, ) NULL, ) NULL, [Money] [int] NULL, [CreateDate] [datetime] NULL ) ON [PRIMARY] GO 2.为Staff表填充数据 INSERT INTO [dbo].[Staff]([Name],[Sex],[Department],[Money],[CreateDate]) ,'2011-11-12' UNIO…
GO alter proc [zsp_BranchsData] as begin /* CREATE TABLE [原始机构数据] ( [序号] [varchar](50) NULL, [一级分行号] [varchar](50) NULL, [一级分行名称] [varchar](50) NULL, [二级分行号] [varchar](50) NULL, [二级分行名称] [varchar](50) NULL, --[上级机构号] [varchar](50) NULL, --[上级机构名称] [v…
参考:lxw大数据田地:http://lxw1234.com/archives/2015/04/193.htm 数据准备: CREATE EXTERNAL TABLE test_data ( month STRING, day STRING, cookieid STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' stored as textfile location '/user/jc_rc_ftp/test_data'; select…
1.使用条件查询  查询部门为20的员工列表 -- 查询部门为20的员工列表    SELECT t.DEPTNO,t.ENAME FROM SCOTT.EMP t where t.DEPTNO = '20' ; 效果: 2.使用  listagg() WITHIN GROUP ()  将多行合并成一行 SELECT        T .DEPTNO,        listagg (T .ENAME, ',') WITHIN GROUP (ORDER BY T .ENAME) names   …
MySQL的行转列.列转行.连接字符串  concat.concat_ws.group_concat函数用法使用方法:CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意:如果所有参数均为非二进制字符串,则结果为非二进制字符串. 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串.一个数字参数被转化为与之相等的二进制字符串格式:若要避免这种情况,可使用显式类型 cast, 例如:SELECT CONCAT(CA…
功能介绍: 自定义分组的字段 创建表: 插入测试数据: Grouping Sets(null,t.classid,(t.classid,t.studentname)),类似于ROLLUP Select t.classid,t.studentname,Sum(t.score) From Score t Group By Grouping Sets(null,t.classid,(t.classid,t.studentname)); 查询结果:…
R语言中有几个常用的函数,可以按组对数据进行处理,apply, lapply, sapply, tapply, mapply,等.这几个函数功能有些类似,下面介绍下这几个函数的用法. Apply 这是对一个Matrix或者Array进行某个维度的运算.其格式是: Apply(数据,维度Index,运算函数,函数的参数) 对于Matrix来说,其维度值为2,第二个参数维度Index中,1表示按行运算,2表示按列运算.下面举一个例子: m<-matrix(1:6,2,3) 构建一个简单的2行3列的矩…
原来,group是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西. 最近学习正则表达式,发现Java中的一些术语与其他地方描述的有所差异.比如Java正则表达式中的“组”概念与<正则表达式必知必会>一书中讲述的“子表达式”其实是一样的,只是表述不同而已.由此也引发了使用JavaAPI时对group(int group).start(int group).end(int group)不是太理解. package…
1.group by后带rollup子句 先按一定的规则产生多种分组,然后返回各个分组所产生的结果集的并集,且没有去掉重复数据(统计出的数据是求和还是最大值还是平均值等这就取决于SELECT后的聚合函数).下面举例说明: 例1:Group by rollup(A ,B) //返回如下3个分组的统计结果集的并集,且未去掉重复数据. 第一种:group by A,B 第二种:group by A 第三种:group by NULL (即没有分组,所有数据做一个统计) 例2:Group by roll…
聚合函数就是基于多行数据返回一行结果,下面就是Oracle提供的一些列聚合函数: AVG COLLECT CORR CORR_* COUNT COVAR_POP COVAR_SAMP CUME_DIST DENSE_RANK FIRST GROUP_ID GROUPING GROUPING_ID LAST LISTAGG MAX MEDIAN MIN PERCENT_RANK PERCENTILE_CONT PERCENTILE_DISC RANK REGR_(Linear Regression…
Atitit 数据库 标准库  sdk 函数库 编程语言 mysql oracle  attilax总结 1.1. 常见的编程语言以及数据库 sql内部函数库标准化库一般有以下api1 1.2. 各个分类的api数量统计约200个. (以mysql为例)1 1.3. Oracle的函数库分布 共312个2 1.4. 按照分类检索oracle函数3 1.5. 参考资料3 1.1. 常见的编程语言以及数据库 sql内部函数库标准化库一般有以下api 00001. 控制流程函数 00002. 2 字符…
grouping sets 可以用于在计算分组聚合函数值的同时计算合计值 -- 查询结果group_id为NULL的那一行即为合计值 select group_id , count(distinct user_id) as user_num from table_name group by group_id grouping sets ((group_id),()) 参考资料: https://blog.csdn.net/u013053796/article/details/18620631 h…
Oracle 9i以后,扩展了group by 的功能,能够满足大部分多维数据的分析统计功能,主要表现: 1. rollup,cube,grouping sets 扩展group by字句提供了丰富的多维分组统计功能: 2. 3个扩展分组函数:grouping,grouping_id,group_id提供扩展group by的辅助功能:提供区别结果行属于哪个分组级别,区分NULL值,建立有意义的报表,对汇总结果排序,过滤结果行等: 3.对扩展group by允许按重复列分组,组合列分组,连接分组…
摘自 http://blog.itpub.net/26977915/viewspace-734114/ 在报表语句中经常要使用各种分组汇总,rollup和cube就是常用的分组汇总方式. 第一:group by rollup 1.如果使用诸如group by rollup(A,B,C)的方式分组,那么返回的分组结果是(A,B,C) (A,B) (A) (NULL) 一共四种结果.即从右到左递减,最后来个合计. 例如: SQL> select * from t; YEARS     MONTHS…
1.GROUP BY 标准分组 1.1.GROUP BY 概述 1.2.WHERE 和 HAVING 的区别? 2.GROUP BY 扩展分组 2.1.ROLLUP 分组 2.2.CUBE 分组 2.3.GROUPING SETS 分组 2.4.复杂分组(组合列分组.重复列分组.连接分组) 3.GROUP BY 扩展函数 3.1.GROUPING 函数 3.2.GROUPING_ID 函数 3.3.GROUP_ID 函数 4.总结 1.GROUP BY 标准分组 为了便于讲述,我将把简单 GRO…
在实际运用中.比方在数据仓库中,常常须要对数据进行多维分析.不仅须要标准分组的结果(相当于 GROUP BY),还须要不同维度的小计(简单 GROUP BY 中取部分列分组)和合计(不分组).从而 提供多角度的数据分析.对于这样的复杂分组需求,简单 GROUP BY 非常难达到这样的目的,当然.我们能够 使用 UNION 或 UNION ALL 将不同维度的分组结果联合起来,但性能往往不好,此时,我们能够使用扩 展 GROUP BY 来满足实际运用中出现的大部分多维分组问题. 1. 扩展 GRO…
简单的group by用法 select c1,sum(c2) from t1 where t1<>'test' group by c1 having sum(c2)>100; rollup(多列)——上卷汇总,从最后一个汇总字段开始上卷汇总,一直到合计 select c1,c2,sum(c3) from t1 group by rollup(c1,c2) 含义:c1,c2分组合计c1分组合计总计 cube(多列)——组合汇总,以汇总字段的子集作为汇总条件汇总,包括合计 select c…
Listagg select * from emp select LISTAGG(ename,'-') within group (order by deptno desc) from emp; 可以看到功能类似wm_concat,可以自定义连接符,区别: LISTAGG  : 11g2才提供的函数,不支持distinct,拼接长度不能大于4000,函数返回为varchar2类型,最大长度为4000. 和wm_concat相比,listagg可以执行排序.例如select deptno, lis…
一.时间处理函数 trunc(sysdate) 返回日期 to_date() to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') to_number() 转为数字 二.字符串处理函数 substr(bag.serialid, 0, 13) 截取字符串 regexp_substr(i_sBloodSubType, '[^,]+', 1, level) 正则 regexp_replace(i_sBloodSubType, '[^,]+', '') regexp_like…
1   概述 本篇文章简要回顾SQL Server  聚合函数,MAX,MIN,SUM,AVG,SUM,CHECKSUM_EGG,COUNT,STDEV,STDEVP,VAR,VARP. 2   具体内容 2.1  AVG (Transact-SQL) 返回组中值的平均值.空值被忽略. 2.1.1 定义 AVG ( [ ALL | DISTINCT ] expression ) OVER ( [ partition_by_clause ] order_by_clause ) 2.1.2 参数 A…
Group By Group By 谁不会啊?这不是最简单的吗?越是简单的东西,我们越会忽略掉他,因为我们不愿意再去深入了解它. 1 小时 SQL 极速入门(一) 1 小时 SQL 极速入门(二) 1 小时 SQL 极速入门(三)--Oracle 分析函数 SQL 高级查询--(层次化查询,递归) 今天就带大家了解一下Group By 的新用法吧. ROLL UP ROLL UP 搭配 GROUP BY 使用,可以为每一个分组返回一个小计行,为所有分组返回一个总计行. 直接看例子,我们有以下数据…
org.apache.spark.sql.functions是一个Object,提供了约两百多个函数. 大部分函数与Hive的差不多. 除UDF函数,均可在spark-sql中直接使用. 经过import org.apache.spark.sql.functions._ ,也可以用于Dataframe,Dataset. version 2.3.0 大部分支持Column的函数也支持String类型的列名.这些函数的返回类型基本都是Column. 函数很多,都在下面了. 聚合函数 approx_c…
http://blog.itpub.net/519536/viewspace-610997/ Oracle的CUBE与ROLLUP功能很相似,也是在数据统计分析领域的一把好手.  关于ROLLUP的查询统计功能请参考文章<[ROLLUP]Oracle分组函数之ROLLUP魅力>(http://space.itpub.net/519536/viewspace-610995). 1.先看一下ROLLUP的数据统计效果1)创建测试表group_testSECOOLER@ora11g> crea…
原创:http://blog.itpub.net/519536/viewspace-610995 本文通过演示给出Oracle ROLLUP分组函数的用法,体验一下Oracle在统计查询领域中的函数魅力.ROLLUP分组函数可以理解为Group By分组函数封装后的精简用法,这里同时给出ROLLUP的Group By的改写思路. 1.初始化实验坏境1)创建测试表group_testSECOOLER@ora11g> create table group_test (group_id int, jo…
本文主要介绍,报表在使用group by rollup和group by cube后的辅助函数. CREATE TABLE TEST8 ( "ID" NUMBER, "ORDERID" NUMBER, "PRODUCTID" NUMBER, "PRICE" ,), "QUANTITY" NUMBER ) , , , , ); , , , , ); , , , , ); , , , , ); , , , ,…