我的数据表如下:
ID WEEK RESULT
1 13 GOOD
2 13 BAD
3 13 GOOD
4 14 GOOD
5 14 BAD
6 15 BAD
我需要一个sql查询来创建一个数组,如下所示:
WWEK GOOD_COUNT BAD_COUNT
13 2 1
14 1 1
15 0 1
任何人都可以帮我找一个合适的mysql查询吗?
答案 0 :(得分:3)
您可以使用带有CASE
表达式的聚合函数将行转换为列:
select week,
sum(case when result = 'good' then 1 else 0 end) GoodResult,
sum(case when result = 'bad' then 1 else 0 end) BadResult
from yt
group by week;