PostgreSQL:按多个列聚合

PostgreSQL:按多个列聚合,sql,postgresql,aggregate-functions,Sql,Postgresql,Aggregate Functions,我有以下数据格式: id eventtime use A 2015-01-01 00:00:00-01 5.2 . . 2015-06-06 23:59:50-01 5.7 B . . 我正在尝试获取表单的输出: id eventtime use A 2015-01-01 1200 . 2015-06-06 140

我有以下数据格式:

id       eventtime           use
A    2015-01-01 00:00:00-01    5.2
.
.    2015-06-06 23:59:50-01    5.7  
B 
.
.
我正在尝试获取表单的输出:

id        eventtime              use
A         2015-01-01             1200
.         2015-06-06             1400  
.
B         2015-01-01             1500    
基本上是数据库中每个用户每天使用的项目的总和

我试过了

select id, eventtime, sum(use) from table group by id,eventtime

在这种情况下,我得到了一个我无法真正理解的集合,也就是说,它不等于它应该加起来的任何东西。任何帮助都将不胜感激,提前感谢

您希望
按摘录分组(从eventtime开始的日期)
按CAST分组(eventtime作为日期)


请注意,这将阻止在
eventtime
上使用任何索引。如果需要,您可以创建一个表达式索引,该索引与您在
group by
子句中使用的内容相匹配。

您需要通过删除时间组件将
事件时间
转换为日期。我认为最简单的方法是使用
date\u trunc()

我不确定为什么您的示例查询在
选择中有
id
,而在
分组中有
user

select id, date_trunc('day', eventtime) as eventday, sum(use)
from table
group by id, eventday
order by id, eventday;