SQL语句中如何求单行空值数量 或者百分比啊
3个回答
展开全部
给你一个思路
select (新列1+新列2+新列3+…………) 为NULL值列的数量
from (
select case when 列1 is null then 1 else 0 end 新列1,
case when 列2 is null then 1 else 0 end 新列2,
case when 列3 is null then 1 else 0 end 新列3,
…………
from 表名) a
select (新列1+新列2+新列3+…………) 为NULL值列的数量
from (
select case when 列1 is null then 1 else 0 end 新列1,
case when 列2 is null then 1 else 0 end 新列2,
case when 列3 is null then 1 else 0 end 新列3,
…………
from 表名) a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DECLARE @SQL_String VARCHAR(8000);
SELECT @SQL_String = 'SELECT '
SELECT @SQL_String = @SQL_String + 'T1.' + name + ' + ' from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='Table_1')
SELECT @SQL_String = RTRIM(@SQL_String)
SELECT @SQL_String = SUBSTRING (@SQL_String, 0, LEN(@SQL_String))
SELECT @SQL_String = @SQL_String + ', Round(cast(('
SELECT @SQL_String = @SQL_String + 'T1.' + name + ' + ' from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='Table_1')
SELECT @SQL_String = RTRIM(@SQL_String)
SELECT @SQL_String = SUBSTRING (@SQL_String, 0, LEN(@SQL_String))
SELECT @SQL_String = @SQL_String + ') as float) / T2.z_Count, 2) '
SELECT @SQL_String = @SQL_String + ' FROM (SELECT '
SELECT @SQL_String = @SQL_String + 'case when ' + name + ' is null then 1 else 0 end AS ' + name + ', ' from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='Table_1')
SELECT @SQL_String = RTRIM(@SQL_String)
SELECT @SQL_String = SUBSTRING (@SQL_String, 0, LEN(@SQL_String))
SELECT @SQL_String = @SQL_String + ' from Table_1) AS T1, (select COUNT(*) AS z_Count from syscolumns where id=(select max(id) from sysobjects where xtype=''u'' and name=''Table_1'')) AS T2'
SELECT @SQL_String
自己修改里面的表名 Table_1
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把行转换为列,count null的数量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询