解析关于SQL语句Count的一点细节

前端之家收集整理的这篇文章主要介绍了解析关于SQL语句Count的一点细节前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

count语句支持、列名、常量、变量,并且可以用distinct关键字修饰, 并且count(列名)不会累计null的记录。下面随便用一些例子示范一下count的规则:比如对如下表做统计,所有列这里都用sql_variant类型来表示。
<SPAN style="COLOR: #000000">
<div class="codetitle"><a style="CURSOR: pointer" data="62339" class="copybut" id="copybut62339" onclick="doCopy('code62339')"> 代码如下:

<div class="codebody" id="code62339">
if (object_id ('t_test' )> 0 )
drop table t_test
go
create table t_test (a sql_variant,b sql_variant,c sql_variant )
insert into t_test select 1,1,'a'
insert into t_test select 1,getdate (),null
insert into t_test select 'a',null,1
insert into t_test select 3,null
insert into t_test select null,null
go
select
from t_test
go
select
count (* ) --总数
,count (nullif (1,1 )) --永远返回0
,count (a ) --a数量
,count (b) --b数量
,count (distinct a ) --a不重复数量
,count (isnull (b,c )) --b或者c不为null数量
,count (Coalesce (a,b,c )) --a或者b或者c不为null数量
,count (nullif (a,b)) --a不等于b的数量
,count (nullif (isnumeric (cast (a as varchar (38 ))),0 ))--a是数字的数量
from t_test

猜你在找的MsSQL相关文章