[转]group by 后使用 rollup 子句总结】的更多相关文章

group by 后使用 rollup 子句总结 一.如何理解group by 后带 rollup 子句所产生的效果 group by 后带 rollup 子句的功能可以理解为:先按一定的规则产生多种分组,然后按各种分组统计数据(至于统计出的数据是求和还是最大值还是平均值等这就取决于SELECT后的聚合函数).因此要搞懂group by 后带 rollup 子句的用法主要是搞懂它是如何按一定的规则产生多种分组的.另group by 后带 rollup 子句所返回的结果集,可以理解为各个分组所产生…
一.相关分析 通常当聚合率和数据量没有大于一定程度时,对于不涉及Rollup.Cube.Grouping_Sets这三种操作的聚合很少出现GC问题.对于Rollup.Cube.Grouping_Sets操作可采用如下优化方法避免GC. 1.Rollup / Cube / Grouping_Sets时,某些场景下,如果多维度的字段比较多,内存或者GC会造成性能问题.特别的, 在实现这三种操作 时, 记录数会出现倍数的膨胀, 调优的时候请务必关注 GC 情况. 如果 GC性能情况表现不加, 建议用手…
最近正在做一个显示消息的列表页,列表页中需要根据一个字段来分组显示.并且需要一个分页的效果. 大家也知道group by 后的数据是每一组一行记录,统计分组后的总的记录数又不能用count,所以SQL_CALC_FOUND_ROWS就派上用场了. 所谓SQL_CALC_FOUND_ROWS是指在执行带LIMIT的查询时,附带统计一下如果不加LIMIT的话将会输出多少条结果. 用法: ,; 查询完毕后再执行: SELECT FOUND_ROWS(); 这个语句返回group by 后的总记录数,如…
1.在oracle中,group by后将字符拼接.任务:在学生表中,有studentid和subject两个字段.要求对studentid进行group by分组,并将所选科目拼接在一起.oracle中sql语句如下. select studentid, listagg(subject, ',') within group(order by subject) from student group by studentid; 第一幅图是未分组的数据显示,第二幅图是分组后的字符串连接之后的显示.…
参考: 1.SQL查询语句 group by后, 字符串合并 2.sql for xml path用法 #需求: 合并列值 表结构,数据如下: id value ----- ------ aa bb aaa bbb ccc 需要得到结果: id values ----- ------------ aa,bb aaa,bbb,ccc 即:group by id, 求 value 的和(字符串相加) #解决方法: 1.传统方法:创建处理函数(sql server 2000只能用该方法) )) , '…
--向rollup传递一列select division_id,sum(salary) from employees2 group by rollup(division_id); --向rollup传递多列select division_id,job_id,sum(salary) from employees2 group by rollup(division_id,job_id); --修改传递给rollup的列的位置select job_id,division_id,sum(salary)…
由于GROUP BY 使用Sum函数后 ID等唯一值就无法查询出来了,所以想按照ID排序也就不可以了. 这时可以使用一个MIN 或者MAX函数来取得一个最小或者最大的ID 这样就可以实现以其中一条ID来做排序条件了. SELECT specification_id, sum(quantity) as quantity ,cutter_id, MIN(outstock_line_id)as id FROM wms_outstock_line group by specification_id ,…
--SQL Server2008 程序设计 汇总 GROUP BY ,WITH ROLLUP  WITH CUBE  GROUPING SET(..) /******************************************************************************** *主题:SQL Server2008 程序设计 汇总 group by ,WITH ROLLUP  WITH CUBE *说明:本文是个人学习的一些笔记和个人愚见 *      有很多…
实现按照不同级别分组统计 关于GROUP BY 中的GROUPING SETS,ROLLUP,CUBE 从需求的角度理解会更加容易些. 需求举例: 假如一所学校只有两个系, 每个系有两个专业, 每个专业有两个班, 须在需要一张按照不同级别统计学生人数的报表 例如: 系别 专业 班级 学生人数 1系         专业1         班级1       班级2     专业2         班级1       班级2   2系         专业1         班级1       班…
今天在写MySQ的SQL语句的时候遇到了一个奇怪的问题 select count(*) from subsitealbum t1, photo t2,files t3 where t1.SourceAlbumId = t2.FolderId and t2.ID = t3.ID and t2.FolderId = t3.FolderID and SiteId in (select SubsiteID from channelsubsites where ChannelID='yszw') GROU…