zoukankan      html  css  js  c++  java
  • Transactsql 中的 rollup 和cube的使用

    进行分组统计汇总,可以在GROUP BY子句中使用WITH ROLLUPWITH CUBE参数。

    ROLLUP指定在结果集内不仅包含由GROUP BY提供的行,还包含汇总行。按层次结构顺序,从组内的最低级别到最高级别汇总组。

    CUBE参数则在使用ROLLUP参数所返回结果集的基础上,再将每个可能的组和子组组合在结果集内返回。

    例如,假设dbo.table_1表中存在下列数据:

    name    ProductID   Sales

    Kathy   1         10

    Nick       1                10

    Nick       2              30

    Jane      1         10

    Jane      2         30

    执行下面的查询语句:

    CUBE
    ROLLUP

    得到下面的结果集合,可以看出,使用WITH CUBE多出了对子组ProductID的两行汇总。

    with rollup 的结果集

    Name           ProductID   total  
    -------------- ----------- -----
    NULL           NULL        90
    Jane           NULL        40
    Jane           1           10
    Jane           2           30
    Kathy          NULL        10
    Kathy          1           10
    Nick           NULL        40
    Nick           1           10
    Nick           2           30

    With Cube 的结果集

    Name           ProductID   total
    -------------- ----------- ------
    NULL           NULL        90
    NULL           1           30
    NULL           2           60
    Jane           NULL        40
    Jane           1           10
    Jane           2           30
    Kathy          NULL        10
    Kathy          1           10
    Nick           NULL        40
    Nick           1           10
    Nick           2           30

  • 相关阅读:
    SaltStack入门到精通第一篇:安装SaltStack
    saltstack 基础入门文档
    【基础】centos 6.X 下修改图形界面为命令行界面(单用户救援模式)
    成都达内推荐PHP书籍【update 2017.1.10】
    高性能Mysql主从架构的复制原理及配置详解
    MySQL数据库的初始化mysql_install_db 【基础巩固】
    linux rsync配置文件参数详解
    实时跟踪log变化的工具Apachetop
    实时观察Apache访问情况的工具Apachetop
    apachetop 实时监测web服务器运行状况
  • 原文地址:https://www.cnblogs.com/lfzwenzhu/p/1332046.html
Copyright © 2011-2022 走看看