1
使用年齡我有一個表在我的PostgreSQL數據庫8.4這樣的:PostgreSQL中
id(serial), event_type_id(id, foreign key), ts(timestamp)
我有兩個事件類型的id,我需要看的年齡。
Event_type_id 1 = Arrive
Event_type_id 2 = Leaves
例如數據
id | event_type_id | ts
----+---------------+----------------------------
21 | 6 | 2012-04-03 16:02:18.739274
20 | 5 | 2012-04-03 08:44:13.244287
我想這組白天,看看它是多少,每天小時。
有人可以指出我的方向如何分組和計算年齡?
到目前爲止,我有這個,但我需要生成一個系列的加入或類似的東西
解決方案 不知道這是最好的做法,但它爲我工作。
SELECT dx, age(max(ts), min(ts))
from generate_series('2012-04-01', '2012-04-14', interval '1 day') as dx
left join events on (ts >= dx and ts < dx + '23 hours 59 minutes' and event_type_id in (5,6))
group by dx
order by dx;
'id'是表的主鍵嗎?你能向我們展示一些樣本數據嗎? – 2012-04-04 07:41:01
我覺得你必須重新思考你的schema.Will它很簡單,如果你有事件表中的時間戳記? – sathis 2012-04-04 07:44:37
用示例數據編輯文章和我當前的sql – heldt 2012-04-04 07:47:48