簡體   English   中英

SQL查詢,從ID多次求和相同的條目

[英]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)

提前致謝。

假設idITEMS表中的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM