我需要在Access SQL中使用COUNT,并计算平均价格

时间:2013-10-21 00:55:42

标签: sql count average

我有两张桌子:

   PRODUCT           ITEM
- PRODUCT_ID      - ITEM_ID
- PRODUCT_DESC    - STORE_ID
- VENDOR_CODE     - PRODUCT_ID
                  - ITEM_PRICE

PRODUCT表用于列出商店中销售的每种产品的详细信息,ITEM表基本上是每个商店的库存,列出每个商店中的产品及其价格。

我希望有一个函数可以返回产品描述,商品数量(COUNT)以及相同产品类型的所有商品的平均价格。但是,我还希望条件是输出中只列出超过10个项目的产品。

这是我到目前为止所做的:

SELECT PRODUCT.PRODUCT_DESC AS Description,
       COUNT(ITEM.ITEM_ID) AS Count,
       AVG(ITEM.ITEM_PRICE) AS [Average Price]
FROM PRODUCT, ITEM
WHERE PRODUCT.PRODUCT_ID = ITEM.PRODUCT_ID
AND COUNT(ITEM.ITEM_ID) > 10;

我正在使用Access SQL,我将不胜感激任何帮助!

2 个答案:

答案 0 :(得分:0)

每当您使用COUNTAVG等汇总函数时,您必须GROUP BY非聚合列,并验证COUNT,请使用{{1} }。你应该这样做(未经测试):

HAVING COUNT

答案 1 :(得分:0)

尝试使用INNER JOIN而不是过时的多个表而不加入像:

SELECT PRODUCT.PRODUCT_DESC AS Description,
COUNT(*) AS CountItems,
AVG(ITEM.ITEM_PRICE) AS [Average Price]
FROM ITEM
INNER JOIN PRODUCT
ON ITEM.PRODUCT_ID = PRODUCT.PRODUCT_ID
GROUP BY PRODUCT.PRODUCT_DESC
HAVING COUNT(*) > 10