这是 access_log表,在此表中我们有两列, create_time 和 update_time
create_time | update_time --------------------+------------------ 2017-11-02 08:46:14 | 2017-11-02 08:46:14 2017-11-02 05:51:13 | 2017-11-02 07:36:18 2017-11-02 11:42:29 | 2017-11-02 11:42:29 2017-11-02 11:50:28 | 2017-11-02 11:50:28 2017-11-02 05:50:59 | 2017-11-02 06:30:29 2017-11-02 06:19:24 | 2017-11-02 09:25:14 2017-11-03 05:54:17 | 2017-11-03 09:53:15 2017-11-03 07:38:23 | 2017-11-03 08:30:53 2017-11-03 07:38:00 | 2017-11-03 10:31:26
使用PostgreSQL,我们需要计算每天 create_time 和 update_time 之间的总 time_spent 时间,并根据日期显示。
然而, time_spent = update_time - create_time
create_time | time_spent --------------+------------ 2017-11-02 | 05:30:22 2017-11-03 | 07:44:51
答案 0 :(得分:0)
假设时间戳列的类型为timestamp
或timestamptz
,您可以计算sum(update_time - create_time)
并按date_trunc('day', create_time)
分组。
答案 1 :(得分:0)
这样的事情:
SELECT create_time::date AS day, SUM(update_time - create_time)
FROM access_log
GROUP BY day;