sql之case then

题目描述:
已知 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的语句

示例可参考此处:

猜你喜欢

转载自blog.csdn.net/qq_36922927/article/details/80753702
今日推荐