Thực hiện GROUP BY
, sử dụng COUNT
(chỉ tính các giá trị không rỗng):
select id,
count(value1) as value1,
count(value2) as value2,
count(value3) as value3
from table1
group by id
Chỉnh sửa :
Nếu các giá trị không phải là null mà là '.' (hoặc cái gì khác), hãy sử dụng case
biểu thức để thực hiện đếm có điều kiện, chẳng hạn như:
select id,
count(case when value1 <> '.' then 1 end) as value1,
count(case when value2 <> '.' then 1 end) as value2,
count(case when value3 <> '.' then 1 end) as value3
from table1
group by id