我昨天問了一個關於SO的問題,標題爲Deciding and implementing a trending algorithm in Django。很多人提出了一個簡單的事情,像平均值(指數,權重等) 我有一本名爲模型和另一個叫讀者:計算和存儲每日,每週,每月和每年的平均數據
class Book(models.Model):
name = models.charField()
class Reader(models.Model):
date = models.DateField()
book = models.ForeignKey(Book)
reader_count = models.PostiveIntegerField()
結構簡單。每天都會添加新書,並且每天都會添加每本書的讀者數量。即一本書將有一天的讀者數量爲每天,多個記錄。
我需要計算本週,當前月份和當年的圖書平均值。除了目前的數據,我還想保留歷史數據。
如果我試圖從數據庫中查詢這種數據,那就需要大打了。不是嗎。此外,我試圖用簡單的平均數來實現這個系統,但是後來我想要改變我的計算方法的靈活性。我有兩個選擇 -
之一,在那裏我可以在部分每次添加新
Reader
創紀錄的時間存儲的運算數據的另一個表更新數據。二,在那裏我可以每天晚上通過腳本爲當前日/周/月重建彙總數據。
下面是一些示例數據和結果。
Book Date Count
---- ---------- -----
AAAA 01.01.2012 10
AAAA 02.01.2012 20
AAAA 03.01.2012 30
AAAA 04.01.2012 30
AAAA 05.01.2012 40
AAAA 06.01.2012 10
AAAA 07.01.2012 25
AAAA 08.01.2012 15
AAAA 09.01.2012 10
第1周的讀者人數平均值爲:23.5。 第2周的平均讀者數(本例將爲當週)爲:12.5 ..並且當前月份和年份爲21.1
HTH。
爲了給任何一個鏡頭,我想建立一個系統來存儲數據。我需要每天,每週和每月存儲平均值。然而,我很遺憾我應該實現什麼樣的表結構?如果可能的話,我不想重新發明輪子,所以如果你們中的任何一個知道任何允許我實現這個目標的軟件包,那將是非常棒的。
謝謝。
謝謝你的回覆塞巴斯蒂安。 – 2012-02-16 15:10:38
不客氣...對不起,我忍不住了! – sebpiq 2012-02-16 15:12:02