2014-11-01 35 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);