sql 完成sum(不包含部分行操作)--oracle

博客内容展示了三种不同的SQL查询方法,用于在Oracle数据库中按日期统计每天的总额,但要排除特定ID(12014, 13003, 12030)的记录。当ID为12013时,值取负。这三种方法分别使用了CASE语句、DECODE函数和NOT IN子句结合CASE来实现这一目标。" 79519725,7463388,C语言编程:计算星座,"['C语言编程', '算法', '日期处理', '星座', '编程题']
摘要由CSDN通过智能技术生成

    id                 date        val

    12006    2005-3-5    10680.00
    12046    2005-3-5    2840.00
    12013    2005-3-5    12420.00
    12010    2005-3-5    44640.00
    12002    2005-3-5    81390.00
    12005    2005-3-5    24943.00
    12011    2005-3-5    10236.00
    12030    2005-3-5   
    12003    2005-3-5    176830.00
    12009    2005-3-5    158248.00
    12014    2005-3-5    12500.00
    12011    2005-3-6    11257.00
    12012    2005-3-6    0.00

 

需求:按照每一天统计总和,但是不包括,12014,13003,12030,当id=12013时候,取负值

sql:写法一

select t.date,sum(
case
  when id='12014' then 0
  when id='13003' then 0
    when stcdt='12030' then 0
      when stcdt='12013' then -val
    else val end)
  from tb t group by t.date order by t.date

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值