我有measurements
一個表,具有以下結構查詢行:保存和由日期間隔
| id | value1 | value2 | value3| value4 | taken_at |
凡value
屬性是數字值,並且taken_at
屬性是指日期時間值測量的時間。
使用此數據庫的應用程序將稍後需要在一個時間間隔內測量的平均值。例如,它將需要:
- 過去一個月的測量結果的平均值。
- 最近3周測量的平均值
- 今年測量的平均值。
因爲我不想每一次,我想在計算它一次,然後用以下結構保存它的averages
表重新計算的平均值:
| id | value1 | value2 | value 3 | value4 | begin | end |
其中每個valuei
代表在begin
和end
日期之間取得的來自measurements
表的所有valuei
的平均值。這樣我可以保存每個任意間隔的平均值。這個模式的問題在於我不知道如何讓查詢的類型爲「給我過去3個月的平均值」或「給我所有的年均間隔的平均值」。
如何使用此結構進行此類查詢?有沒有更好的方法來完成這一點?