查询计数字段值

问题描述:

我有一个20字段的MySQL表。 20,15有3个可能的值,如0,NA,1 +。我需要编写一个查询来获取值大于0的每个字段计数。是否有可能在单个查询中获取它。查询计数字段值

谢谢你们。

+0

http://www.tizag.com/mysqlTutorial/mysqlcount.php – Anonymous

+0

@danontheline。这只是记录数。我问到了场上的计数。 –

除非我失去了一些东西......

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 

select "column1", count(*) from your_table where value>0 
union all 
select "column2", count(*) from your_table where value>0 
... 
... // repeat until column20 

有趣的文档: - http://dev.mysql.com/doc/refman/5.0/en/union.html