gpt4 book ai didi

mysql - SQL查询,多次对ID中的相同条目求和

转载 作者:行者123 更新时间:2023-11-29 17:56:39 26 4
gpt4 key购买 nike

我首先运行查询来获取项目 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)。

关于mysql - SQL查询,多次对ID中的相同条目求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48757775/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com