Oracle筛选当年、当月、本周、昨天的数量(T-1)

根据指定字段筛选T-1的数据量 

例:2023/03/27  周一

本年:2023

本月:03

本周:2023/03/20至2023/03/26(因为T-1,今天是周一,那本周数据就需统计上周一周数据,如果今天是周二,那需统计周一的数据)

昨天:2023/03/26

select t.info_cats,
 sum(case 
when to_char(t.create_date,'yyyy')>=  to_char(sysdate-1,'yyyy') then
 1 
else
 0 
end) as year_count,--本年
 sum(case 
when to_char(t.create_date,'yyyy-MM')>= to_char(sysdate-1,'yyyy-MM') then
 1 
else
 0 end) as month_count,--本月
 sum(case 
when t.create_date >= trunc(sysdate-1,'IW') then
 1 
else
 0 end) as week_count,--本周
 sum(case 
when to_char(t.create_date,'yyyy-MM-dd')>= to_char(sysdate-1,'yyyy-MM-dd') then
 1 
else
 0 end) as week_count--昨天
from test_info_count t 
where info_id='1'
group by info_cats;

以上仅本人遇到的需求场景

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值