在我們使用數據庫的時候,可能會遇到需要進行統計的情況。
比如需要統計一下,下表中各個年份的勝負場數。
遇到這樣的情況,我們應該怎么辦呢?
在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)