Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取SQL Server 2008中的所有非空列计数_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

获取SQL Server 2008中的所有非空列计数

获取SQL Server 2008中的所有非空列计数,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,表列为a(int)、b(int)、c(int)。而且这个表中的行太多了。例如,我在该表中有10行。我想得到不为null的列计数 举例来说 所以我的结果是6。那么如何在T-SQL中获得空列计数呢?下面的查询将为您提供任何非空值的计数: SELECT COUNT(a)+COUNT(b)+COUNT(c) FROM yourtable 如果需要跨列的所有值的计数: select count(a) + count(b) + count(c) as NonNullCount, 3*

表列为
a(int)、b(int)、c(int)
。而且这个表中的行太多了。例如,我在该表中有10行。我想得到不为null的列计数

举例来说


所以我的结果是6。那么如何在T-SQL中获得空列计数呢?

下面的查询将为您提供任何非空值的计数:

SELECT COUNT(a)+COUNT(b)+COUNT(c) 
  FROM yourtable

如果需要跨列的所有值的计数:

select count(a) + count(b) + count(c) as NonNullCount,
       3*count(*) - (count(a) + count(b) + count(c)) as NullCount
from table t;

这将为您提供问题中指定的“6”和“3”。

请编辑问题以包含您想要的结果。