Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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
如何计算非空列数?mysql_Mysql_Sql - Fatal编程技术网

如何计算非空列数?mysql

如何计算非空列数?mysql,mysql,sql,Mysql,Sql,我有这张桌子: id col1 col2 col3 1 '' '' bla 2 '' bla bla 3 bla '' '' 我想构建一个查询,该查询将返回每个id有多少列不是空的 因此,结果将是: id sum 1 1 2 2 3 1 怎么做 select id, ((col1 != '') + (col2 != '') + (col3 != '')) as non_empty_count from tab

我有这张桌子:

id  col1  col2  col3
 1   ''    ''    bla
 2   ''    bla   bla 
 3   bla    ''    ''
我想构建一个查询,该查询将返回每个id有多少列不是空的

因此,结果将是:

id  sum  
 1   1
 2   2
 3   1
怎么做

select id, ((col1 != '') + (col2 != '') + (col3 != '')) as non_empty_count
from table;

使用布尔值true=1和false=0的技巧-因此每列非空值ads 1计数。我喜欢这个答案,我不知道Mysql中的布尔值是0/1@54l3d是的,对于“和(是活跃的=1)作为活跃的计数”也很好