我有一個關於構建MySQL查詢的問題。我有一個包含值的列,另一列包含時間戳。我想要做的是從一個特定的時期到各個時間點獲得一個字段的不同(唯一)值的數量,以便我可以繪製隨時間變化的唯一值的數量。例如,我想查詢結果如下所示:
Date
,COUNT(DISTINCT col1
)
2011-02-01,10
2011-02-02,16
2011-02-03 ,24
等隨着時間的推移MySQL不同(唯一)值
請注意,這些值是開始相同時間點的不同值的數量。目前爲了實現這一點,我在PHP中使用循環來爲每個日期迭代單個查詢,並且由於我有一個大型數據庫,因此它需要永久使用。爲了給出更好的圖片,我想替換的低效代碼如下所示:
for($i=0;$i<count($dates),$i++){
$qry = "SELECT COUNT (DISTINCT `col1`) FROM `db`.`table` WHERE `Date` BETWEEN '".$EPOCH."' AND '".$dates[$i]."';";
}
任何幫助,將不勝感激。
感謝
這是老了,但留給後人,這個答案應該工作: http://stackoverflow.com/questions/10995473/cumulative-monthly-totals-and-postgresql – kimbo305 2013-06-05 04:34:36