zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    【vim】分割窗口、标签页与Quickfix窗口
    新手学cocos2dx,centos7下的安装过程
    外部排序,杀鸡焉用牛刀?
    5亿整数的大文件,怎么排?
    【Hadoop】HDFS
    你好,树
    写给博客园博客团队,md的预览在哪里?
    老菜鸟致青春,程序员应该选择java 还是 c#-
    高性能server分析
    高性能服务端漫谈
  • 原文地址:https://www.cnblogs.com/shuihaya/p/12899397.html
Copyright © 2011-2022 走看看