1
我有一個表:Mysql:如何計算兩個avg之間的差異?
+------------+--------------+-------+------------+
| Name | Nation | Score | Game_date |
+------------+--------------+-------+------------+
| Ginobili | Argentina | 48 | 2005-01-21 |
| Irving | Australia | 44 | 2014-04-06 |
| Kirilenko | Soviet Union | 31 | 2006-11-11 |
| Kobe | USA | 81 | 2006-01-22 |
| LeBron | USA | 52 | 2014-12-06 |
| Mutombo | Congo | 39 | 1992-02-03 |
| Nowitzki | Germany | 48 | 2011-05-18 |
| PauGasol | Spain | 46 | 2015-01-11 |
| SteveNash | Canada | 42 | 2006-12-08 |
| TonyParker | France | 55 | 2008-11-06 |
| YaoMing | China | 41 | 2009-02-23 |
| YiJianlina | China | 31 | 2010-03-27 |
+------------+--------------+-------+------------+
我要計算的AVG(分數)美國 - 中國的AVG(分數)。
我已經試過
select avg(score) from nba where nation = "USA" -
avg(score) from nba where nation = "China";
但它是錯的!
會不是這樣的短語需要一個 '否則爲0'? –
@WhirlMind在SQL Server中,如果未提供ELSE NULL,則爲默認值。在MySQL中不需要看[demo](http://sqlfiddle.com/#!9/9eecb7d/29291/0):)無論如何你不能添加'ELSE 0',因爲它會改變結果。 AVG僅適用於非價值 – lad2025
現在我看到UNION選項,我想這可能是一個完美的選擇。 另外兩件事情,就案例而言: (a)在SQL Server中,假定null可能會導致聚合嘗試出現空警告? (b)如果我們確實包括了0,那麼平均值是否會將總數除以合格行數或所有行數? –