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