2014-04-03 96 views
0

我在postgreSQL中遇到了一個問題。PostgreSQL:在複雜循環查詢中需要幫助

這是我的表(該表不顯示在圖像中的所有數據)

enter image description here

什麼是我的要求是

步驟1:的價值發現計數(這是一個表中的列)按價值按當天日期排列。 所以這將是這樣的,我做到了(無難度)

enter image description here

步驟2:值從今天開始過去30天發現計數。我被困在這裏。另外一個另一件事是包含在這一步 -

:今天有10個計數的值 - KASH,這將是10X30, 昨天爲同一值4算的,所以會4x29,所以總和將是

(10x30) + (4x29) = 416.

該計算計算每個和每一個值。

該循環執行3o次(如我之前說的從今天開始的最近30天之前)。今天以最渴望的一天

查詢將只需要與價值總和返回兩列,下令總和

請幫我

+0

你想* *運行總和*?如果是這樣:'sum(...)OVER(...)',即使用sum作爲窗口函數。 –

+0

請檢查編輯。 – Napster

回答

1

添加一個WHERE子句現有查詢:

WHERE時間戳> current_date - 間隔'30'天;

只要按總和進行排序,請添加ORDER BY子句。

ORDER BY COUNT(*)DESC。

我不相信你會需要一個循環(CURSOR)這個查詢。

+0

我該如何管理這個 - 「例如,今天有一個值爲10的計數 - kash,這將是10x30,昨天有4個計數爲相同的值,因此將是4x29,因此總數將是 (10x30 )+(4x29)= 416.意思是怎麼可以做(10x30)+(4x29)的計算? 「 – Napster