zoukankan      html  css  js  c++  java
  • MySQL中group by , sum , case when then 的使用

    在我们使用数据库的时候,可能会遇到需要进行统计的情况。

    比如需要统计一下,下表中各个年份的胜负场数。

    遇到这样的情况,我们应该怎么办呢?

    在mysql中我们可以使用group by sum  case when 来解决这个问题,sql语句如下:

    select date_year,
    sum(case when win_lose = '胜' then 1 else 0 end) win,
    sum(case when win_lose = '负' then 1 else 0 end) lose
    from scores group by date_year;

    结果如下:

    +-----------+------+------+
    | date_year | win | lose |
    +-----------+------+------+
    | 2005 | 1 | 1 |
    | 2006 | 2 | 1 |
    | 2007 | 0 | 1 |
    | 2008 | 2 | 1 |
    | 2009 | 0 | 2 |
    | 2010 | 1 | 1 |
    | 2011 | 2 | 0 |
    | 2012 | 2 | 1 |
    | 2013 | 1 | 1 |
    | 2014 | 3 | 2 |
    | 2015 | 2 | 2 |
    | 2016 | 1 | 0 |
    | 2017 | 1 | 1 |
    | 2018 | 1 | 3 |
    +-----------+------+------+
    14 rows in set (0.00 sec)

  • 相关阅读:
    移动端开发-禁止横屏
    奇葩的对象创建方式(更新中)
    每日积累之8.8
    每日积累 8.6
    折半查找
    linux中的amount的解释
    Redis集群错误
    每日积累 8.6
    Redis中在程序中的应用
    每日积累 8.4
  • 原文地址:https://www.cnblogs.com/573734817pc/p/10682328.html
Copyright © 2011-2022 走看看