题目描述:
已知 info 表
Date result
2005-05-09 win
2005-05-09 lose
2005-05-09 lose
2005-05-09 lose
2005-05-10 win
2005-05-10 lose
2005-05-10 lose
如果要生成下列结果, 该如何写sql语句?
date win lose
2005-05-09 1 2
2005-05-10 1 2
考察到groupby
select DATE AS 'date',
SUM(CASE WHEN result='win' THEN 1 ELSE 0 END) AS 'WIN',
SUM(CASE WHEN RESULT='lose' THEN 1 ELSE 0 END) AS 'lose'
FROM info
GROUP BY DATE
这里考察了 sum 求和函数,case when 条件语句
group by
case when类似于if-else,switch-case的语句