带有聚合且计数大于语句的 SQL 查询

问题描述 投票:0回答:1

我原来的查询:

SELECT location, Item, SUM(TxQty) AS Total
FROM tblimInvTxHistory
WHERE TxDate > '2022-01-01' AND TxCode IN ('COSHIP', 'SHIP')
GROUP BY location, Item
ORDER BY 2

这些是我得到的结果,并且经过验证是正确的:

地点 项目 总计
02 0103 06 10 10.00
02 0103 06 13 10.00
02 0105 08 14 4.00
01 0107-12-12 41.00
04 0107-12-12 7.00
02 0107-12-12 5.00
03 0107-12-12 4.00
05 0107-12-16 2.00
01 0107-12-16 14.00
04 0107-12-16 2.00
02 0107-12-8 1.00
04 0107-12-8 3.00
03 0107-12-8 1.00
01 0107-12-8 9.00
01 0107-16-12 4.00
04 0107-16-16 5.00
02 0107-16-16 4.00
05 0107-16-16 2.00
01 0107-16-16 31.00
03 0107-16-16 1.00

我的问题是我可以使用某种 HAVING 子句或添加到此查询中的内容,以便它只输出特定项目的位置实例 > 3 的行吗?

我永远无法在不出现 SSMS 错误的情况下完成任何工作。

理想情况下,我希望此输出中类似项目的位置实例数量总计超过 3。

Expected Output

sql count aggregate
1个回答
0
投票

好的,我假设您想要的只是从上面的结果中选择给定位置和项目出现次数超过 3 次的行。如果是这种情况,这将解决您的问题:

SELECT location, Item, SUM(TxQty) as Total, count(*) as Counter
  FROM tblimInvTxHistory
 WHERE TxDate > '2022-01-01' and TxCode in ('COSHIP','SHIP')
 GROUP BY location, Item
HAVING counter > 3
 ORDER BY 2

如果这不是您想要的,正如我在评论中所说,请提供预期结果或澄清

© www.soinside.com 2019 - 2024. All rights reserved.