Как я могу получить среднее значение группы элементов в SQL? - PullRequest
1 голос
/ 28 июня 2019

У меня есть стол, полный районов, и стол, полный предметов, их цены и их район.Я хочу получить среднюю цену для каждого района, который у меня есть, а затем, когда я выбираю все предметы, я хочу, чтобы была возможность увидеть среднюю цену для этого района.

Моя таблица элементов выглядит следующим образом:

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 голосов
/ 28 июня 2019

Судя по вашему описанию, вам нужна функция окна:

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