count语句支持*、列名、常量、变量,并且可以用distinct关键字修饰, 并且count(列名)不会累计null的记录。下面随便用一些例子示范一下count的规则:比如对如下表做统计,所有列这里都用sql_variant类型来表示。

复制代码 代码如下:
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 , null
insert into t_test select null , 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

更多相关文章

  1. Android(安卓)-- Android(安卓)JUint 与 Sqlite
  2. android 当系统存在多个Launcher时,如何设置开机自动进入默认的La
  3. Android(安卓)SQLiteDatabase的使用
  4. Android(安卓)打包出错 failed for task ':app:lintVitalRelease
  5. android 通话记录次数
  6. Android(安卓)SQLiteDatabase的使用
  7. android实现关键字搜索功能
  8. 我的android 第14天 - 使用SQLiteDatabase操作SQLite数据库
  9. Android(安卓)编码规范

随机推荐

  1. Android系统启动流程 -4
  2. Android中设置控件可见与不可见详解
  3. Multitasking the Android(安卓)Way
  4. Android(安卓)support v7 TabLayout 自定
  5. Android startservice & bindservice的区
  6. Android的四大天王
  7. 吸顶CoordinatorLayout+AppBarLayout+Ban
  8. Android(安卓)应用签名
  9. Eclipse下Android更新升级过程中遇到的问
  10. [Android] Android 视频播放总结