加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 07:45:49 所属栏目:MsSql教程 来源:网络整理
导读:假设您有结果集,例如: DATE ID cost --------------------------------------- 01/01/2011 1 10 01/01/2011 1 10 01/01/2011 2 10 01/01/2011 2 10 我想要一种方法来对成本值进行求和,但对于每个不同的ID只需要一次,这样当我按日期分组时,我得到的结果如 DAT
假设您有结果集,例如:
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派生表不需要别名.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读