0

次のようなデータベースがあります。

Year    Month        New Visitor?
2011    Jan            Yes
2011    Jan            No
2012    Feb            No
2012    Feb            No
2012    Feb            Maybe

はいといいえを月ごとに別々の列にして、グラフとして印刷できるようにしたいと思います。これを行うには、次のような結果が必要になることを理解しています。

Year    Month         Yes       No     Maybe
2011    Jan            1         1       0
2012    Feb            0         2       1

MySQL のみを使用してこれを行うにはどうすればよいですか?

4

2 に答える 2

1

試す:

SELECT `Year`, `Month`,
    COUNT(IF (`New Visitor?` = 'Yes', 1, NULL)) AS `Yes`,
    COUNT(IF (`New Visitor?` = 'No', 1, NULL)) AS `No`,
    COUNT(IF (`New Visitor?` = 'Maybe', 1, NULL)) AS `Maybe`
    FROM `table`
    GROUP BY `Year`, `Month`;
于 2012-09-24T18:13:20.577 に答える
1

以下を使用できます ( SQL Fiddle with demoを参照)。

select year, month,
  sum(case when newVisitor = 'yes' then 1 else 0 end) yes,
  sum(case when newVisitor = 'No' then 1 else 0 end) no,
  sum(case when newVisitor = 'Maybe' then 1 else 0 end) maybe
from yourtable
group by year, month
于 2012-09-24T18:20:08.560 に答える