请教一上此SQL怎么优化.大数据集
请问一下此SQL如何优化.大数据集.
情况说明一下:
需求:取出30天的平均销量.
此SQL是取出平均值.
需要30天的话 就 * 30就可以了
------解决方案--------------------
select distinct d.rq - 30
from CQ_JXC_GYS_DAY d
group by d.rq
having count(*) >= 1
通过取出当日销售表里的日期-30天.获得30天前的日期.
为什么这么取?
当日销售表里的日期-30天?
取当天的日期-30不久OK了,如果没有的话也是销售表里取最大日期-30不久OK了?
情况说明一下:
需求:取出30天的平均销量.
此SQL是取出平均值.
需要30天的话 就 * 30就可以了
select avg(d.xssl)
from CC_JXC_GYS_DAY d
inner join CC_JXC_GYS_DAY_HIS his
on d.gys = his.gys
where his.rq in (select distinct d.rq
from CC_JXC_GYS_DAY d
group by d.rq
having count(*) >= 1)
and his.rq between his.rq and d.rq
------解决方案--------------------
select distinct d.rq - 30
from CQ_JXC_GYS_DAY d
group by d.rq
having count(*) >= 1
通过取出当日销售表里的日期-30天.获得30天前的日期.
为什么这么取?
当日销售表里的日期-30天?
取当天的日期-30不久OK了,如果没有的话也是销售表里取最大日期-30不久OK了?