【问题标题】:How do I group by Date and sum by date duration for two timestamps?如何按日期分组并按日期持续时间求和两个时间戳?
【发布时间】:2019-06-06 12:34:16
【问题描述】:

输入 -

ID  utc_tune_start_time utc_tune_end_time
A   04-03-2019 23:00:00 05-03-2019 01:00:00

期望的输出

ID  Date         Duration in Minutes
A   04-03-2019       60
A   05-03-2019       60

【问题讨论】:

  • 用您正在使用的数据库标记您的问题。众所周知,日期函数是特定于数据库的。
  • 这些列是什么数据类型?

标签: sql postgresql


【解决方案1】:

这可能对你有用:

select 
to_date(cast(utc_start_time as TEXT),'YYYY-MM-DD') date, extract(minute from utc_tune_start_time) duration in minutes from Table
union
to_date(cast(utc_end_time as TEXT),'YYYY-MM-DD') date, extract(minute from utc_tune_end_time) duration in minute from Table

编辑:OP 使用 PostgreSQL,因此需要进行修改(从时间戳转换为文本)。

【讨论】:

  • 我收到以下错误 - 操作无效:函数 to_date(timestamp without time zone) 不存在;代码的部分运行显示上述错误。我正在使用 sql workbench/j 进行查询
  • Workbench 是 IDE,你用的是哪个 DBMS? PostgreSQL?
  • 是的,PostgresSQL
  • 那么看来你的问题在这里解决了:stackoverflow.com/questions/19947817/….
  • 这个 to_date(utc_tune_end_time::TEXT,'DD-MM-YYYY') 有效吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-27
  • 1970-01-01
  • 2014-10-20
  • 1970-01-01
  • 2014-05-02
  • 1970-01-01
  • 2020-07-28
相关资源
最近更新 更多