select case when TO_CHAR(a.CREATETIME,'HH24MI') < 0730 THEN TO_CHAR(a.CREATETIME - 1,'YYYYMMDD')
else TO_CHAR(a.CREATETIME ,'YYYYMMDD')
end as work_date,
a.workshop,
sum(case when B.SUBMATERIALQTY = 32 then 1 else 0 end ) as EL_QTY32
from PM_REPAIR_MODULE a,
cim_lot b
where a.createtime >= (
select LAST_DAY(ADD_MONTHS(TO_DATE('20190805', 'yyyymmdd hh24:mi:ss'),-1)) from dual)
and a.createtime < to_date('20190805' ||'073000','YYYYMMDD HH24MISS')+ 1
and a.location_flag = 'FRONT'
and a.rework_seq = '1'
and a.lotid = b.lotid
group by case when TO_CHAR(a.CREATETIME,'HH24MI') < 0730 THEN TO_CHAR(a.CREATETIME - 1,'YYYYMMDD')
else TO_CHAR(a.CREATETIME ,'YYYYMMDD')
end, a.workshop
请教一下 这个语句怎么优化,
红色部分 是取上个月的最后一天 ,我直接写成 ‘20190731’去查,速度还是挺快的7秒,
写成这个用语句计算出来上个月最后一天之后查询需要4分钟.