zoukankan      html  css  js  c++  java
  • UNION ALL实现的分级汇总示例.sql

    DECLARE @t TABLE(Item varchar(10),Color varchar(10),Quantity int)
    INSERT @t SELECT 'Table','Blue',124
    UNION ALL SELECT 'Table','Red', -23
    UNION ALL SELECT 'Chair','Blue',101
    UNION ALL SELECT 'Chair','Red', -90

    --统计
    SELECT Item,Color,Quantity
    FROM(
        --明细
        SELECT Item,Color,Quantity=SUM(Quantity)
            ,s1=0,s2=Item,s3=0
        FROM @t
        GROUP BY Item,Color
        UNION ALL
        --各Item合计
        SELECT '',Item+' 合计',Quantity=SUM(Quantity)
            ,s1=0,s2=Item,s3=1
        FROM @t
        GROUP BY Item
        UNION ALL
        --总计
        SELECT '总计','',Quantity=SUM(Quantity)
            ,s1=1,s2='',s3=1
        FROM @t
    )a ORDER BY s1,s2,s3
    /*--结果
    Item       Color           Quantity
    -------------- ---------------------- -----------
    Chair      Blue            101
    Chair      Red             -90
              Chair 合计       11
    Table      Red             -23
    Table      Blue            124
              Table 合计       101
    总计                      112
    --*/
  • 相关阅读:
    iphone6闪存检测
    knowledges address
    类linux系统/proc/sysrq-trigger文件功能作用
    iphone 6s pp助手 越狱
    C pointers
    ubuntu15.04 TLS
    ubuntu cenots 禁止本地登陆
    CentOS7
    CentOS7安全设置 yum-cron系统自动更新,firewalld防火墙简单使用
    SAS学习笔记之函数应用
  • 原文地址:https://www.cnblogs.com/shihao/p/2510806.html
Copyright © 2011-2022 走看看