zoukankan      html  css  js  c++  java
  • MSSQL一个关于Count函数的小实例

    --创建测试表
    if object_id(N'T_Test',N'U') is null     
      CREATE TABLE [dbo].[T_Test] (
      [ID] int IDENTITY(1, 1) PRIMARY key NOT NULL,
      [Grouping] varchar(50) NOT NULL,
      [Ret]   varchar(10) null,
      [Chk]   varchar(10) NULL
      )
    GO
    --插入数据
    insert into T_Test values('A', 1, 'XXX')
    insert into T_Test values('A', 2, 'XXX')
    insert into T_Test values('A', 2, 'YYY')
    insert into T_Test values('A', 2, null )
    insert into T_Test values('A', 2, '' )
    insert into T_Test values('A', null, 'cc' )
    insert into T_Test values('A', '', 'cc' )
    insert into T_Test values('B', 1, 'YYY')
    insert into T_Test values('B', 3, 'XXX')
    insert into T_Test values('B', 2, 'XXX')
    insert into T_Test values('B', 4, null )
    insert into T_Test values('B', 5, '' )
    insert into T_Test values('B', null, 'cc' )
    insert into T_Test values('B', '', 'cc' )
    
    --1、根据Grouping字段分组 统计字段Ret(不为空)不同值的数量,
    --2、根据Grouping字段分组 chk不为空的情况下,统计字段Ret(不为空)不同值的数量,
    --主要利用count函数不统计NULL数量,nullif函数
    select grouping, 
           --count(distinct case when isnull(ret, '')<>'' then ret else null end),
           count(distinct NULLIF(ret, '')),
           count(distinct case when isnull(chk, '')<>'' then NULLIF(ret, '') else null end)
    from t_test group by GROUPING
  • 相关阅读:
    NEON中的L可以避免溢出
    编译Qualcomm的Hexagon exampls错误
    C语言中的static
    在非NDK编译条件下使用Android Log函数
    NEON的vsub方法溢出
    OpenCL中读取image时的坐标
    Ubuntu16.0 GTX1660Ti 安装NVIDIA CUDA cuDNN Tensflow
    修改so库中的依赖名
    Qt数据库总结
    Qt插件系统
  • 原文地址:https://www.cnblogs.com/adsoft/p/11684115.html
Copyright © 2011-2022 走看看