我正在尝试根据 A 列的不同(国家/地区)从 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 列是一起平均的。有没有办法按国家/地区划分平均值?
最佳答案
不需要子查询,您只是缺少 GROUP BY 子句:
SELECT shipcountry, ROUND(AVG(freight),1)
FROM Table.Orders
GROUP BY shipcountry;
关于MySQL - 基于不同列 A 值的平均列 B 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43193613/