下面的 SELECT 语句产生了这个结果
SELECT ProductID, SUM(Quantity) AS Quantity
FROM Production.ProductInventory
WHERE ProductID NOT IN (1001)
GROUP BY ProductID;
为什么下面编辑的 SELECT 语句没有产生任何结果?
SELECT ProductID, SUM(Quantity) AS Quantity
FROM Production.ProductInventory
WHERE Quantity >= 1800
GROUP BY ProductID;
最佳答案
您添加了 WHERE
子句:
SELECT ProductID, SUM(Quantity) AS Quantity
FROM Production.ProductInventory
WHERE Quantity >= 1800 -- no single row with Quantity that is higher than 1800
GROUP BY ProductID;
您可能想在聚合后过滤值:
SELECT ProductID, SUM(Quantity) AS Quantity
FROM Production.ProductInventory
GROUP BY ProductID
HAVING SUM(Quantity) >= 1800; -- HAVING instead of WHERE
过滤:
- WHERE - 聚合前
- HAVING - 聚合后
关于mysql - SQL Server - 返回 null 的 SELECT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52483456/