Optimize table and query, aggregate by date or date-hour
Create a new column, update it with the daily value,and add this column in the index.
Here is an example.This is just to remove the function-on-column situation,where an index can`t be used.Be patient,it will take a while on 100 M rows.

SQL Fiddle