I think what you're going to need to do is actually build a table with the summary data in it and THEN query for your monthly summary off of it. You have two possible approaches to do this depending on what you'd like to do.
First approach is to just create an temporary table in memory. You will take a slight performance hit depending on how much data you have to insert into it. Insert the data and then you can issue your monthly summarize query against that set. Once done, go ahead and delete the temporary table.
Another thought process might be to generate and store a table to maintain the daily summaries. Maybe have a script setup to run automatically to do this for you. Then when someone wants a monthly summary, the you just have your monthly summary query hit the daily summary table and look up the data as needed. The reason I think this will work is I'm taking a guess that once an observation is made for a particular moment in time, there isn't a huge urge to go back and change or update that data. If this is the case, creating summary tables shouldn't be a problem since you don't need to go back and refresh any of the data and the summary table will be like caching the data for your monthly summaries which just means an improvement in performance. Make sense?