Выберите среднее значение столбца - PullRequest
0 голосов
/ 29 мая 2020

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

Barcode | ItemName  | PPriceID
----------------------------
2323      Item 1      12
2424      Item 2      14
2121      Item 3      15
2323      Item 1      11
2323      Item 1      13
2424      Item 2      15

Я пробовал: Select Barcode, ItemName, AVG(PPriceID) from tblPurchaseSub group by BarCode

, но, похоже, это неправильный способ сделать это.

1 Ответ

1 голос
/ 29 мая 2020

В стандартном SQL каждый столбец в предложении SELECT, который не входит в состав агрегатной функции (например, AVG()), должен появиться в предложении GROUP BY.

Итак, чтобы код действительного запроса агрегации, вам нужно добавить столбец ItemName в предложение group by:

select Barcode, ItemName, AVG(PPriceID) avgPPriceID
from tblPurchaseSub 
group by BarCode, ItemName

Это дает вам одну строку на (Barcode, ItemName) кортеж вместе со средним PPriceID соответствующие строки в исходной таблице.

...