根据指定字段筛选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;
以上仅本人遇到的需求场景