1

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

任何事物 ?...

谢谢,干杯!

4

3 回答 3

1

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

show columns from TABLE_NAME where Null = 'NO'; 

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

于 2013-01-28T12:34:50.877 回答
0

尝试这个

select 
     if(name1 = 0, 0, 1) +
     if(name2 = 0, 0, 1) +
     if(name3 = 0, 0, 1) as NumMsg
 from attributes where `id`='5'
于 2013-01-28T12:45:03.490 回答
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
于 2013-01-28T12:32:01.713 回答