gpt4 book ai didi

php - 具有重复项的数组中值的总和

转载 作者:行者123 更新时间:2023-11-29 00:13:54 25 4
gpt4 key购买 nike

尝试从查询中添加值的总和,但不确定如何让它添加所有值,目前它只是从列表中找到唯一值,但它应该添加所有这些值。

例如第 11 件商品的价格为 1 英镑商品 35 的价格是 £2

我正在尝试将 11、35 和 35 的值相加,即 (£1+£2+£2) 以获得 £5 的值

我正在使用的查询显然不合时宜,因为它返回 3 英镑,所以它只添加附加到唯一项目的唯一值

SELECT sum(price) FROM prices where item_id IN(11,35,35)

非常感谢任何帮助

最佳答案

您需要在表上强制进行笛卡尔连接,您可以这样做:

select
sum(yt.price) as TotalPrice
from
yourTable yt
join (
select
11 as ID
from dual
union all
select
35 as ID
from dual
union all
select
35 as ID
from dual
) sel
on yt.ID=sel.ID

您创建一个子查询,其中包含您想要的 ID 的多条记录,并将其连接到您要从中提取数据的实际表。

您可以做的另一件事是拉回单个商品的价格并将其分类到一个数组/对象中,您可以在其中进行数学运算以更详细的方式获得价格。

另一件你可以用数组做的非常简单的事情(或者你正在存储你想要计算价格的 ID)是在外部查询中做可变数量的联合——实际上类似于什么是上面,但看起来会很不一样:

select
sum(sel.price)
from
(
select price from yourTable where ID=11
union all
select price from yourTable where ID=35
union all
select price from yourTable where ID=35
) sel

它几乎相同,但取决于您在查询中提取的其余列,可能更适合。

关于php - 具有重复项的数组中值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23653897/

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