计算特定行ID的非空列数(查询)

时间:2013-01-28 12:18:10

标签: mysql sql count database

我需要在任何数据库中提取“特定行的非空列数”。

任何事情?...

感谢,欢呼!

3 个答案:

答案 0 :(得分:0)

尝试一下

的内容
SELECT 
(
 (CASE WHEN col1 IS NOT NULL THEN 1 ELSE 0 END)
 + (CASE WHEN col2 IS NOT NULL THEN 1 ELSE 0 END)
 ...) AS count_of_not_nulls
FROM table t
WHERE t.Id= @ROW_ID

答案 1 :(得分:0)

您应该查看此选项以获取非空的所有字段名称:

show columns from TABLE_NAME where Null = 'NO'; 

从PHP运行此查询并尝试通过mysql_num_rows获取此查询的计数。

答案 2 :(得分:0)

试试这个

select 
     if(name1 = 0, 0, 1) +
     if(name2 = 0, 0, 1) +
     if(name3 = 0, 0, 1) as NumMsg
 from attributes where `id`='5'