2014-11-01 117 views
0

我有一个包含以下字段的表:userId,actionDate,actionType 我想创建一个查询以生成每个用户每天执行的操作列表PostgreSQL - 计算用户每天做出的操作的查询

我已经试过此查询:

select userId, actionDate, count(*) from userActionList group by userId, actionDate; 

问题:是我actionDate是一个日期时间字段,我得到一个基于两个日期&时间的结果和我也想组只基于(不计时间)

+0

'date_trunc('day',actionDate)'它在手册中。 – wildplasser 2014-11-01 14:53:40

回答

1

这是你的查询,你似乎是要求修改:

select userId, date_trunc('day', actionDate) as actionDate, count(*) 
from userActionList 
group by userId, date_trunc('day', actionDate); 

这计数活动。如果你想要一个列表:

select userId, date_trunc('day', actionDate) as actionDate, count(*), 
     string_agg(actionType, '; ' order by actionDate) as actions 
from userActionList 
group by userId, date_trunc('day', actionDate);