我有一个包含20个字段的MySQL表。 在20,15中有3个可能的值,如0,NA,1 +。我需要编写一个查询来获取每个字段数,其值为> 0.是否可以在单个查询中获取它。?
谢谢大家。
答案 0 :(得分:1)
除非我遗漏了什么......
SELECT
COUNT(CASE WHEN c1<>'0' THEN 1 END) AS c1_count,
COUNT(CASE WHEN c2<>'0' THEN 1 END) AS c2_count,
-- ...
COUNT(CASE WHEN c15<>'0' THEN 1 END) AS c15_count
FROM t
答案 1 :(得分:0)
select "column1", count(*) from your_table where value>0
union all
select "column2", count(*) from your_table where value>0
...
... // repeat until column20