, , . MySQL univot, UNION ALL . , . - :
select count(*) total
from
(
select id, name, 'data1' col, data1 as value
from yourtable
union all
select id, name, 'data2' col, data2 as value
from yourtable
union all
select id, name, 'data3' col, data3 as value
from yourtable
union all
select id, name, 'data4' col, data4 as value
from yourtable
union all
select id, name, 'data5' col, data5 as value
from yourtable
union all
select id, name, 'data6' col, data6 as value
from yourtable
union all
select id, name, 'data7' col, data7 as value
from yourtable
) src
where value > 0
SQL Fiddle with Demo