20 개의 필드가있는 MySQL 테이블이 있습니다. 20 명 중 15 명이 0, NA, 1 +와 같은 3 가지 값을 가질 수 있습니다. 나는> 0 값이있는 각 필드 수를 가져 오기 위해 쿼리를 작성해야합니다. 단일 쿼리로 가져올 수 있습니까?계산 필드 값을 가져 오는 쿼리
감사합니다.
20 개의 필드가있는 MySQL 테이블이 있습니다. 20 명 중 15 명이 0, NA, 1 +와 같은 3 가지 값을 가질 수 있습니다. 나는> 0 값이있는 각 필드 수를 가져 오기 위해 쿼리를 작성해야합니다. 단일 쿼리로 가져올 수 있습니까?계산 필드 값을 가져 오는 쿼리
감사합니다.
내가 뭔가를 누락하지 않는 한 http://dev.mysql.com/doc/refman/5.0/en/union.html ...
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://www.tizag.com/mysqlTutorial/mysqlcount.php – Anonymous
@danontheline. 그것은 단지 레코드 수입니다. 나는 현명한 계산에 대해 물었다. –