我需要在任何数据库中提取“特定行的非空列数”。
任何事情?...
感谢,欢呼!
答案 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'