2016-03-04 61 views
2

我使用的是PostgreSQL版本8.1。我有一個表,如下所示:PostgreSQL中基於時間戳的整數列總和

  datetime  | usage 
-----------------------+---------- 
2015-12-16 02:01:45+00 | 71.615 
2015-12-16 03:14:42+00 | 43.000 
2015-12-16 01:51:43+00 | 25.111 
2015-12-17 02:05:26+00 | 94.087 

我想在基於datetime列日的usage列中添加整數值。

簡單地說,我想輸出如下看:

  datetime  | usage 
-----------------------+---------- 
2015-12-16    | 139.726 
2015-12-17    | 94.087 

我試圖SELECT dateTime::DATE, usage, SUM(usage) FROM tableName GROUP BY dateTime::DATE, lngusage;預期不執行。任何援助將不勝感激。提前致謝。

+0

'DATE_TRUNC( '日',日期時間)'[根據文檔(http://www.postgresql.org/docs/8.4/static/functions-datetime.html#FUNCTIONS-DATETIME-TRUNC ) –

回答

2

下面的查詢應該給你想要的結果:

select to_char(timestamp, 'YYYY-MM-DD') as time, sum(usage) 
from table 
group by time 
+0

這個答案對我很好,謝謝! –

0

這一個是對於PostgreSQL,我看你加入MySQL也。

SELECT 
    dt 
    SUM(usage), 
FROM (
    SELECT 
    DATE_TRUNC('day', datetime) dt, 
    usage 
    FROM 
    tableName 
) t 
GROUP BY 
    dt 
0
SELECT to_char(datetime, 'format'), sum(usage) 
FROM table 
group by to_char(datetime, 'format') 
0

另外你可以一個窗口函數。

SELECT DATETIME 
,SUM(USAGE) OVER(PARTITION BY CAST(datetime AS DATE) ORDER BY datetime) AS Usage 
FROM TableName