竟然把日期时间中的 date 和 hour 给独立出来成两列,查询时再合并成一个新的条件,简直无力吐槽。...还好,有个聪明伶俐的妹子,突发起想(事实上这位妹子本来就擅长做SQL优化的~),可以用 CASE WHEN 方法来改造下SQL,改成像下面这样的:
select uid,sum(powerup+powerup1...) from
(
select uid,
case when concat(date,' ',hour) >='2017-03-24 13:00' then power else...'0' end as powerup,
case when concat(date,' ',hour) when concat(date,' ',hour) >='2017-03-24 13:00' then power else '0' end as powerup,
case when