如何获取SQL中一组项目的平均值?

时间:2019-06-28 14:50:52

标签: sql postgresql average

我有一张充满地区的桌子,还有一张充满物品,价格和地区的桌子。我想获取我拥有的每个区域的平均价格,然后在选择所有项目时希望看到该区域的平均价格。

我的项目表如下:

Item Id | Price | District
---------------------------
   1    |   12  | North
   2    |   17  | North
   3    |   9   | East
   4    |   13  | West
   5    |   14  | East

我希望它在查询后返回:

Item ID | District | AVG District Price
--
1       | North    | 14.5
2       | North    | 14.5
3       | East     | 11.5

以此类推。有什么建议么?

1 个答案:

答案 0 :(得分:0)

根据您的描述,您似乎想要一个窗口功能:

select t.*,
       avg(price) over (partition by district) as avg_district_price
from t;