zoukankan      html  css  js  c++  java
  • Rollup and cube

    CREATE TABLE #temp 
      ( 
         name  VARCHAR(20), 
         job   VARCHAR(20), 
         age   INT, 
         COUNT INT 
      ) 
     
    INSERT #temp 
    SELECT '周杰伦','歌手',25,2010 
    UNION ALL 
    SELECT '周杰伦','歌手',26,1444 
     
    INSERT #temp 
    SELECT '刘德华','演员',40,1101 
    UNION ALL 
    SELECT '刘德华','演员',45,4664 
     
    INSERT #temp 
    SELECT '成龙','导演',55,3456 
     
     
    INSERT #temp 
    SELECT '林俊杰','歌手',54,876 
    UNION ALL 
    SELECT '林俊杰','歌手',23,5433 
    UNION ALL 
    SELECT '林俊杰','歌手',45,3345  
     
     
     
    select  *  from  #temp 
    /* 
    (8 行受影响) 
    name    job    age    COUNT 
    周杰伦    歌手    25    2010 
    周杰伦    歌手    26    1444 
    刘德华    演员    40    1101 
    刘德华    演员    45    4664 
    成龙    导演    55    3456 
    林俊杰    歌手    54    876 
    林俊杰    歌手    23    5433 
    林俊杰    歌手    45    3345 
    */ 
     
    SELECT name,job,MAX(age) AS age,SUM(COUNTAS COUNT 
    FROM   #temp 
    GROUP  BY name,job 
     
    /* 
    (4 行受影响) 
     
    name    job    age    count 
    成龙    导演    55    3456 
    林俊杰    歌手    54    876 
    周杰伦    歌手    25    2010 
    刘德华    演员    40    1101 
    */ 
    SELECT name,job,MAX(age) AS age,SUM(COUNTAS COUNT 
    FROM   #temp 
    GROUP  BY name,job WITH ROLLUP 
     
    /* 
    (9 行受影响) 
    name    job    age    count 
    成龙    导演    55    3456 
    成龙    NULL    55    3456 
    林俊杰    歌手    54    876 
    林俊杰    NULL    54    876 
    刘德华    演员    40    1101 
    刘德华    NULL    40    1101 
    周杰伦    歌手    25    2010 
    周杰伦    NULL    25    2010 
    NULL    NULL    55    7443 
    */ 
     
     
      
     
    --------------------------------------------------------------------------------------- 
     
     
      
    SELECT name,job,MAX(age) AS age,SUM(COUNTAS COUNT 
    FROM   #temp 
    GROUP  BY name,job WITH cube 
      
    /* 
    (12 行受影响) 
    name    job    age    COUNT 
    成龙    导演    55    3456 
    NULL    导演    55    3456 
    林俊杰    歌手    54    9654 
    周杰伦    歌手    26    3454 
    NULL    歌手    54    13108 
    刘德华    演员    45    5765 
    NULL    演员    45    5765 
    NULL    NULL    55    22329 
    成龙    NULL    55    3456 
    林俊杰    NULL    54    9654 
    刘德华    NULL    45    5765 
    周杰伦    NULL    26    3454 
    */ 
      
      
  • 相关阅读:
    Effective C++ 33 避免遮掩继承而来的名称
    求子数组之和的最大值——编程之美 2.14 扩展问题 正确实现
    数据结构快速回顾——平衡二叉树 AVL (转)
    位运算符 优先级 折半搜索
    关于 二维数组指针
    C++中的单例模式(转)
    C# ThreadStart和ParameterizedThreadStart区别
    C# 实现数字字符串左补齐0的两种方法
    C# 窗口自适应窗口宽度和高度
    C# 在多线程环境中,进行安全遍历操作
  • 原文地址:https://www.cnblogs.com/qanholas/p/1874441.html
Copyright © 2011-2022 走看看