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
MSSQL一个关于Count函数的小实例的更多相关文章
- javascript小实例,编写一个方法,实现从n-m个数中随机选出一个整数
别怪我是一个闷葫芦,没那么多花哨的语言,废话不多说,先说说小实例的要求: 编写一个方法,实现从n-m个数中随机选出一个整数,要求:传递的参数不足两个或者不是有效数字,返回[0-1]之间的随机数,需要解 ...
- 一个简单的Android小实例
原文:一个简单的Android小实例 一.配置环境 1.下载intellij idea15 2.安装Android SDK,通过Android SDK管理器安装或卸载Android平台 3.安装J ...
- Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作 1>. 创建一个控制台程序2>. 添加一个 ADO.NET实体数据模型,选择对应的数据库与表(Studen ...
- 从一个简单的小实例分析JSP+Servelt与JSP+Struts2框架的区别
最近在学struts2,struts2相比以前的JSP+Servlet,在处理流程上的更简单,我们就一个小实例来具体分析一下. 实例内容如下: 实现一个简单的注册页面包括:用户名.密码.重复密码.年龄 ...
- Jmeter Web 性能测试入门 (四):一个小实例带你学会 Jmeter 脚本编写
测试场景: 模拟并发100个user,在TesterHome 站内搜索VV00CC 添加线程组 添加HTTP信息头管理器 添加HTTP Sampler 填写HTTP Sampler中的信息 添加监听器 ...
- php count()函数用法 及其 一个坑
用法 count() 函数返回数组中元素的数目. count(array,mode); [mode] 0 - 默认.不计算多维数组中的所有元素. 1 - 递归地计算数组中元素的数目(计算多维数组中的所 ...
- (练习题)利用构造器函数实现三个小实例——不使用String()与Array()构造器和Math对象,不使用内建的方法的方法和属性。
1)在String()构造器不存在的情况下自定义一个myString()构造器函数.由于String()不存在,因此您在写构造器函数时不能使用任何属于内建String对象的方法和属性.并让你所创建的对 ...
- winform 异步读取数据 小实例
这几天对突然对委托事件,异步编程产生了兴趣,大量阅读前辈们的代码后自己总结了一下. 主要是实现 DataTable的导入导出,当然可以模拟从数据库读取大量数据,这可能需要一定的时间,然后 再把数据导入 ...
- CSS应用内容补充及小实例
一.clear 清除浮动 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
随机推荐
- ios 测试网络是否连接
转自:http://blog.csdn.net/lwq421336220/article/details/16982857 - (BOOL) connectedToNetwork { //创建零地址, ...
- IntelliJ IDEA 2019.3安装激活破解使用教程
一. 前言 作为一枚程序员,你肯定对IntelliJ IDEA这个工具一点也不陌生!或许你没有用过,但你也一定听说过.作为在业界被公认为最好的java开发工具,IDEA每次大版本更新都备受瞩目.划重点 ...
- [TimLinux] asciinema Linux终端录制工具嵌入私有web中
yum install asciinema https://github.com/asciinema/asciinema-player # 下载asciinema-player.css, asciin ...
- Dubbo 2.7新特性之异步化改造
这是why技术的第1篇原创文章 我与Dubbo的二三事 我是2016年毕业的,在我毕业之前,我在学校里面学到的框架都是SSH,即struts+spring+hibernate,是的你没有看错,在大学里 ...
- 【CuteJavaScript】Angular6入门项目(2.构建项目页面和组件)
本文目录 一.项目起步 二.编写路由组件 三.编写页面组件 1.编写单一组件 2.模拟数据 3.编写主从组件 四.编写服务 1.为什么需要服务 2.编写服务 五.引入RxJS 1.关于RxJS 2.引 ...
- 冒泡排序 C&&C++
冒泡排序(因为过程像冒泡,所以叫做冒泡排序) 流程: (1)对数组中各个数字,一次比较相邻两个 (2)如果前面大于后面,就交换这两个数据 (3)再用同样的方法继续排,直到外层循环排完 或者 (1) ...
- Python解释器安装及环境变量配置
python官网www.python.org 1.python3安装 1.1到官网找到电脑相应系统下载(下载路径越简单越好) 2.找需要下载的python版本 3. 手动添加环境变量 右键我的电脑-- ...
- dev gridcontrol设置过滤器下拉列表
调用: //为类别名称列启用选中的过滤器下拉式样式. ].OptionsFilter.FilterPopupMode = FilterPopupMode.CheckedList; //订阅ShowFi ...
- 2016/09/29 SQL中的join
1.建表 首先建tb_a并插入数据. )); insertinto tb_a(symbol, sname) values ('A','B'); insertinto tb_a(symbol, snam ...
- 《Java练习题》习题集二
编程合集: https://www.cnblogs.com/jssj/p/12002760.html Java总结:https://www.cnblogs.com/jssj/p/11146205.ht ...