我有这张桌子:
id col1 col2 col3
1 '' '' bla
2 '' bla bla
3 bla '' ''
我想构建一个查询,它将为每个id重新调整cols不为空。
所以结果将是:
id sum
1 1
2 2
3 1
怎么做?
答案 0 :(得分:2)
select id, ((col1 != '') + (col2 != '') + (col3 != '')) as non_empty_count
from table;
使用boolean true = 1和false = 0的技巧 - 因此对于每个列,非空值广告1要计数。可以在http://sqlfiddle.com/#!9/751df2/5
中看到