• SQL Server 2008中的GROUPING SETS的应用实例


    DECLARE @t TABLE(student nvarchar(50),class nvarchar(50),grade int)

    /*insert some datas*/
    INSERT INTO @t
    SELECT N'孙小美',N'数学',10 UNION ALL
    SELECT N'孙小美',N'语文',20 UNION ALL
    SELECT N'孙小美',N'英语',30 UNION ALL
    SELECT N'阿土伯',N'数学',40 UNION ALL
    SELECT N'阿土伯',N'语文',50 UNION ALL
    SELECT N'阿土伯',N'英语',60 UNION ALL
    SELECT N'小叮铛',N'数学',70 UNION ALL
    SELECT N'小叮铛',N'语文',80 UNION ALL
    SELECT N'小叮铛',N'英语',90

    SELECT * FROM
    (
        
    SELECT 
            
    ISNULL(student,'ALL'AS student, 
            
    ISNULL(class,'ALL'AS class, 
            
    SUM(grade) AS grade
        
    FROM @t
        
    GROUP BY GROUPING SETS((student,class),student,class,())
    AS t
    PIVOT
    (
        
    MAX(grade) FOR class IN (数学,语文,英语,[ALL])
    AS p
    ORDER BY student DESC
  • 相关阅读:
    LeetCode 面试题 08.02. 迷路的机器人
    LeetCode 96. 不同的二叉搜索树
    LeetCode 198 打家劫舍
    LeetCode 931 下降路径最小和
    Anaconda的安装及使用教程
    2020-8
    gdb与core dump
    实用linux命令
    offer_JZ25
    javaweb学习笔记整理补课
  • 原文地址:https://www.cnblogs.com/goodspeed/p/1077817.html
Copyright © 2020-2023  润新知