2017-04-03 74 views
0

我試圖找到從B列基礎上,不同的(國家)欄A.MySQL的 - 基於不同列中的平均列B值值

Argentina 49.5600 
Argentina 31.5100 
Austria  353.0700 
Austria  67.8800 
Belgium  6.2700 
Belgium  0.1700 

的平均值這是表的一部分。我試圖根據國家來平均B列中的值,例如僅爲阿根廷的49.5 + 31.5平均值等。

我已嘗試過幾種組合,但沒有運氣。

select shipcountry, round(avg(freight), 1) 
from Table.Orders 
order by shipcountry; 

select shipcountry, 
    (select round(avg(freight), 1) 
    from Table.Orders) 
from Table.Orders 
order by shipcountry; 

第一個查詢只返回一行與一個國家和值。第二個查詢返回國家,但B列完全平均。有沒有辦法按國家分開平均值?

+1

提示:'GROUP BY'。 –

回答

3

無子查詢需要,你只是缺少GROUP BY子句:

SELECT shipcountry, ROUND(AVG(freight),1) 
FROM Table.Orders 
GROUP BY shipcountry; 

GROUP BY in the docs

+0

完美的工作,謝謝。我以爲我早些時候嘗試過,但一定忽略了它。 – Babeeshka