gpt4 book ai didi

SQL 如何通过不同的 id 进行条件求和?

转载 作者:行者123 更新时间:2023-12-04 13:21:01 25 4
gpt4 key购买 nike

假设您有结果集,例如:

DATE          ID    cost    
---------------------------------------
01/01/2011 1 10
01/01/2011 1 10
01/01/2011 2 10
01/01/2011 2 10

我想要一种方法来对成本值求和,但对每个不同的 ID 只求一次,这样当我按日期分组时,我会得到一个结果,例如
DATE            cost
01/01/2011         20

我首先尝试了类似的东西
    sum(distinct cost) 

但诅咒只返回 10
我也试过:
sum(case when distinct id then cost else 0 end)

但这不是功能查询。

最佳答案

我将假设相同的 ID 在同一天总是具有相同的成本。我还将假设您的 RDBMS 支持派生表。在这种情况下,这就是您想要的:

select date, sum(cost)
from
(select distinct date, id, cost from YourTable)
group by date

更新

Oracle 派生表不需要别名。

关于SQL 如何通过不同的 id 进行条件求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5971267/

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