case 日期when 范围_case when 可以找出时间最近的一条记录吗

比如我有一个消费记录,卡号              交易时间                       交易流水    交易金额

18292        2017-09-29 12:09:37        10252453        7                 36.41

18292        2017-09-29 07:27:29        10241620        4                 36.41

18292        2017-09-28 22:30:53        10236377        2                 36.41

18292        2017-09-28 19:09:53        10235728        2                 36.41

18292        2017-09-28 18:56:18        10231121        13.5                 36.41

18292        2017-09-28 12:06:04        10194080        7                 36.41

18292        2017-09-28 07:28:30        10185337        2.7                 36.41

18292        2017-09-28 07:27:38        10184724        3.5                 36.41

18292        2017-09-27 21:18:11        10177431        2                 55.42

18292        2017-09-27 18:56:49        10173195        5.5                 22.21

18292        2017-09-27 12:26:58        10142600        2.3                 22.21

18292        2017-09-27 12:07:23        10136255        7                 22.21

先不要管数据的正确与否,我现在查询语句如下:

select kh,kpzt,kpye,

sum( case when to_char(jysj,'mm-dd')=to_char(sysdate,'mm-dd') then jyje else 0 end) jrxf,

sum(case  when to_char(jysj,'mm-dd')=to_char(sysdate-1,'mm-dd') then jyje else 0 end) zrxf

,sum(case when to_char(jysj,'yyyy-mm')=to_char(sysdate,'yyyy-mm') then jyje end) byxf

from a

where userid='18292'

group by userid,kpzt,kpye

order by jysj desc

我现在用这个查下来的数据,因为卡片余额的原因,计算出来的数据就会出现多条记录,jrxf=今日消费,zrxf=昨日消费,byxf=本月消费

我现在想通过case when 查找交易时间离当前时间最近的一条记录显示,我这个语句要如何修改,可有大神在线解答吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值