我正在尝试计算每班次每10分钟的运行总数,并且在班次结束时总计重置为0
这个查询就是我现在所拥有的。
select shift,
floor(unix_timestamp(date)/600) window,
(select sum(cost)
from expenses
where shift = S.shift AND id < max(S.id))
from expenses S
group by shift, window, order by window desc
having window > ?
这个表有1600万行,这个查询需要很长时间才能运行,有没有什么方法可以优化它?