[英]MySQL - where clause with a named Arithmetic Operator
我確實有一個MySQL表,其中包含一段時間內倉庫的庫存。 我想查看每個倉庫的最小值和最大值的范圍。 現在工作正常:
SELECT WAREHOUSE_ID, (max(INVENTORY) - Min(INVENTORY)) as 'Diff' FROM ShopData
group by WAREHOUSE_ID
結果是:
# WAREHOUSE_ID, Diff
42131733712, 0
42132001360, 0
310572515344, 4
當我嘗試在創建的“ diff”列上使用“ where”子句時,結果保持不變。
SELECT WAREHOUSE_ID, (max(INVENTORY) - Min(INVENTORY)) as 'Diff' FROM d0287d28.ShopData
WHERE 'Diff' = 0
group by WAREHOUSE_ID
它仍然顯示如上的結果。 但是它應該只顯示前兩行。
謝謝您的支持!
嘗試使用HAVING
子句:
SELECT
WAREHOUSE_ID,
MAX(INVENTORY) - MIN(INVENTORY) AS Diff
FROM ShopData
GROUP BY WAREHOUSE_ID
HAVING Diff = 0;
在WHERE
子句中引用聚合計算是沒有意義的,因為此時查詢中的分組過程尚未發生。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.