【问题标题】:Postgres min/max per hourPostgres 最小/最大每小时
【发布时间】:2016-10-21 07:07:51
【问题描述】:

您好,我有一个表名令牌,它将像这样生成令牌数据

id     | generated_time          | token_name
461087 | 2016-10-21 09:02:53.951 |  G1  
461088 | 2016-10-21 09:31:13.469 |  C1
461089 | 2016-10-21 09:31:15.711 |  C2  
461090 | 2016-10-21 10:37:17.73  |  C3
461091 | 2016-10-21 10:02:53.951 |  G2  
461092 | 2016-10-21 10:15:13.469 |  C4
461093 | 2016-10-21 11:22:15.611 |  C5  
461094 | 2016-10-21 11:31:14.743 |  C6

和这样的表token_queue有一对一的关系

serving_end_time        |  serving_start_time      | token_id
2016-10-21 09:04:45.681 |  2016-10-21 09:03:49.05  | 461087 
2016-10-21 09:33:49.035 |  2016-10-21 09:32:07.996 | 461088 
2016-10-21 09:34:42.431 |  2016-10-21 09:32:27.134 | 461089 
2016-10-21 10:39:57.775 |  2016-10-21 10:38:37.428 | 461090
2016-10-21 10:04:49.715 |  2016-10-21 10:03:09.972 | 461091
2016-10-21 10:17:28.268 |  2016-10-21 10:16:06.946 | 461092
2016-10-21 11:23:36.036 |  2016-10-21 11:22:30.233 | 461093
2016-10-21 11:32:32.876 |  2016-10-21 11:31:27.044 | 461094

现在我想从令牌表中以每小时为单位显示全天 -24 小时(当前日期)的最小值/最大值,并从 token_queue 计算最小值/最大值,即

MIN(token_queue.serving_end_time - token_queue.serving_start_time)
MAX(token_queue.serving_end_time - token_queue.serving_start_time)

这是日期 2016-10-21 的示例输出

    hour                | min         | max
    2016-10-21 09:00:00 | 00:01:06    | 00:05:00
    2016-10-21 10:00:00 | 00:01:16    | 00:04:00
    2016-10-21 11:00:00 | 00:02:00    | 00:05:26

感谢您的任何帮助/建议。

【问题讨论】:

    标签: postgresql timestamp


    【解决方案1】:
    SELECT date_trunc('hour', t.generated_time) AS hour,
           min(tq.serving_end_time - tq.serving_start_time) AS min,
           max(tq.serving_end_time - tq.serving_start_time) AS max
    FROM token t
         JOIN token_queue tq
            ON t.id = tq.token_id
    GROUP BY 1
    ORDER BY 1;
    

    【讨论】:

    • 没错,请你再帮我一个忙,我怎样才能从时间戳中删除几分之一秒
    • 用date_trunc包装它。
    猜你喜欢
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 2021-05-03
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 2012-04-30
    • 2019-05-18
    相关资源
    最近更新 更多