• sqlserver中grouping()函数的用法


    sqlserver中grouping()函数的用法

                                               
    1.grouping()函数返回值
    if(field!=null || field !=' ')
    grouping(field)=0
    else
    grouping(field)=1
    2.grouping()函数用法
    可以 按字段等级显示 结果 值,具体sql如下
    CREATE TABLE grouptable
    (level1 nvarchar(128),
    level2 NVARCHAR(128),
    level3 NVARCHAR(128),
    total DECIMAL(18,2))
    INSERT INTO grouptable(level1,level2,level3,total)
    SELECT '!','@','','100' UNION ALL     //等级类型  可以为!,@,#  或者是  A,B,C
    SELECT '!','@','#','100' UNION ALL
    SELECT 'A','B','C','5000' UNION ALL
    SELECT 'A','B','','6000' SELECT CASE
                WHEN GROUPING(level1)=1
    THEN 0
                WHEN GROUPING(level2)=1
    THEN 1    WHEN
    GROUPING(level3)=1
    THEN 2 ELSE
    3 END
                AS typelevel,level1,level2,level3,SUM(total)  FROM dbo.grouptable   GROUP BY level1,level2,level3
    WITH ROLLUP  //with rollup 函数可以让这些等级分层显示  ORDER BY level1,level2,level3,typelevel
           DROP TABLE dbo.grouptable
    返回的结果如下

                                       
    ————————————————
    版权声明:本文为CSDN博主「IU的男朋友」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_35056027/java/article/details/78344560
  • 相关阅读:
    原型模式
    简单工厂模式与工厂方法模式
    监听器 Listener
    代理模式
    装饰模式
    软件设计的原则
    事务的特性和隔离级别
    JDBC事务(三)ThreadLocal绑定Connection
    JDBC事务(二)转账示例
    JDBC事务(一)
  • 原文地址:https://www.cnblogs.com/shuihaya/p/12899397.html
Copyright © 2020-2023  润新知