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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM