Sql 选择列的平均值

Sql 选择列的平均值,sql,sql-server,tsql,group-by,average,Sql,Sql Server,Tsql,Group By,Average,我有一个名为tblpourchasesub的表。在这个表中,我有几行的列Barcode,ItemName,PPriceID。我想获得Barcode、ItemName和PPriceID列的平均价格 Barcode | ItemName | PPriceID ---------------------------- 2323 Item 1 12 2424 Item 2 14 2121 Item 3 15 2323 Item 1

我有一个名为
tblpourchasesub
的表。在这个表中,我有几行的列
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
我尝试过:
按条形码从tblPurchaseSub组中选择条形码、项目名称、平均(PPriceID)


但这似乎不是正确的方法

在标准SQL中,
SELECT
子句中不在聚合函数中的每一列(例如
AVG()
)都必须出现在
GROUP BY
子句中

因此,要使代码成为有效的聚合查询,需要将列
ItemName
添加到
groupby
子句中:

select Barcode, ItemName, AVG(PPriceID) avgPPriceID
from tblPurchaseSub 
group by BarCode, ItemName
这将为每个
(条形码,项目名称)
元组提供一行,以及原始表中相应行的平均
PPriceID