Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Sum SQL中省略项_Sql_Having - Fatal编程技术网

从Sum SQL中省略项

从Sum SQL中省略项,sql,having,Sql,Having,我对编程和SQL非常陌生,我无法理解这一点,也许我还没有学会这个概念,但我希望你能帮助我。对不起,如果这太简单和无聊了 /*2.37 Write an SQL statement to display the WarehouseID and the sum of QuantityOnHand,grouped by WarehouseID. Omit all SKU items that have 3 or more items on hand from the sum, and name

我对编程和SQL非常陌生,我无法理解这一点,也许我还没有学会这个概念,但我希望你能帮助我。对不起,如果这太简单和无聊了

/*2.37 Write an SQL statement to display the WarehouseID and the sum of
QuantityOnHand,grouped by WarehouseID. Omit all SKU items that have 3 or more items 
on hand   from the sum, and name the sum TotalItemsOnHandLT3 and display the results 
in descending order of TotalItemsOnHandLT3.*/

SELECT WarehouseID, SUM(QuantityOnHand) AS TotalItemsOnHandLT3
FROM INVENTORY
GROUP BY WarehouseID
HAVING COUNT(WarehouseID) >= 3
ORDER BY TotalItemsOnHandLT3 DESC

INVENTORY
是产品列表(
SKU
=库存单位=仓库中存储的单个产品),其中每个产品都有一个
仓库ID
。此
仓库ID
可能确定产品的存储位置

通过省略所有SKU项目,它要求您仅显示存储在仓库中至少3个位置的产品。这可以通过
having
子句实现

 HAVING COUNT(WarehouseID) >= 3
<>我不知道你的代码>清单< /C>>表的结构和数据,但是简单地说,考虑你的数据是这样的:

SKUID  WareHouseID  QuantityOnHand
1      1            10
1      2            10
2      1            10
1      3            5
2      2            20
在上述情况下,产品=1(SKUID)存储在3个不同的仓库中,而产品2存储在2个仓库中。因此,

SKUID  COUNT(WareHouseID)  SUM(QuantityOnHand)
1      3                   25
2      2                   30
在这种情况下,您的查询只会“省略”产品1,而不会“省略”产品2。

“省略总和中手头有3个或更多项目的所有SKU项目”,听起来更像:

FROM INVENTORY WHERE QuantitiyOnHand < 3

就是这样,我应该提到我问的原因是前一个问题只是问了没有省略项部分的总和,无论我在做什么,我都得到了相同的答案,所以我知道省略项部分出了问题。我以为我试过你的解决办法,但我想我没有。谢谢
HAVING COUNT(WarehouseID) >= 3