[英]SQL Query, Sum the same entry from ID multiple times
我首先運行查詢以獲取商品ID,
SELECT ITEM
FROM `SALES`
WHERE DATE>='2018-2-1' AND DATE<='2018-2-5' AND CASH_CREDIT='1'
返回結果; 1,3,7,4,8,7,5,1
我需要使用這些ID號將每個項目的RETAIL_PRICE加在一起。 我嘗試了以下操作,但不允許多次使用項目ID,因此僅從1,3,7,4,8,5添加了RETAIL_PRICE,而從其他7和1.我需要將它們添加為包含兩個值。
SELECT SUM(RETAIL_PRICE)
FROM `ITEMS`
WHERE ID IN(1,3,7,4,8,7,5,1)
提前致謝。
假設id
是ITEMS
表中的PRIMARY KEY(或UNIQUE KEY),我們可以使用JOIN操作來獲取所有匹配的行,並從每行中加總零售價。
SELECT SUM(i.retail_price) AS tot_retail_price
FROM `ITEMS` i
JOIN `SALES` s
ON s.item = i.id
WHERE s.date >= '2018-02-01'
AND s.date < '2018-02-06'
AND s.cash_credit = '1'
如您所見,這種情況
WHERE ID IN (1,3,7,4,8,7,5,1)
相當於
WHERE ID IN (1,3,4,5,7,8)
相當於
WHERE ID IN (1,1,1,1,1,1,1,3,4,5,7,7,7,7,7,7,7,8)
該查詢是對表的一次遍歷,評估表中的每一行。 一個IN
列表中的值重復多少次並不重要。 條件被評估,或者行滿足條件或不滿足。 條件為TRUE或FALSE(或NULL)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.