带有计数的子句不起作用

时间:2018-06-29 13:51:39

标签: sql-server

我编写了计算每个子类别中产品数量的代码。但它仅包括包装尺寸大于5的产品。

但是,我收到以下文本中显示的错误消息。你知道为什么吗?

SELECT COUNT(ClientProductID), SubCategoryName
FROM v_EnterpriseStructure
GROUP BY ClientProductID
HAVING (PackSizeNum) > 5;

错误消息:

  

信息8121,级别16,状态1,行279列   HAVING子句中的“ v_EnterpriseStructure.PackSizeNum”无效   因为它既不包含在聚合函数中,也不包含在   GROUP BY子句。

如果能将更正内容添加到代码中,我将不胜感激。

2 个答案:

答案 0 :(得分:2)

只需省略having并使用where,例如:

SELECT COUNT(ClientProductID), SubCategoryName
FROM v_EnterpriseStructure
WHERE  PackSizeNum > 5
GROUP BY SubCategoryName

答案 1 :(得分:0)

SELECT COUNT(ClientProductID), SubCategoryName
FROM v_EnterpriseStructure
WHERE (PackSizeNum) > 5
GROUP BY ClientProductID, SubCategoryName;