PostgreSQL中基于时间戳的整数和列

时间:2016-03-04 21:28:14

标签: sql postgresql datetime

我正在使用PostgreSQL版本8.1。我有一张表如下:

when

我想根据 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 列中的日期在usage列中添加整数值。

简单地说,我希望输出看起来如下:

datetime

我尝试了 datetime | usage -----------------------+---------- 2015-12-16 | 139.726 2015-12-17 | 94.087 但效果不如预期。任何援助将不胜感激。提前谢谢。

4 个答案:

答案 0 :(得分:2)

下面的查询应该会给你想要的结果:

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

答案 1 :(得分:0)

这个是针对postgreSQL的,我看到你也添加了MySQL。

SELECT
  dt
  SUM(usage),
FROM (
  SELECT
    DATE_TRUNC('day', datetime) dt,
    usage
  FROM
    tableName
) t
GROUP BY
  dt

答案 2 :(得分:0)

SELECT to_char(datetime, 'format'), sum(usage)
FROM table
group by to_char(datetime, 'format')

答案 3 :(得分:0)

此外,您还可以使用窗口功能。

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