解析关于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