postgresql query-average time from datetime字段?

vc9ivgsu  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(358)

我有一个sql表:

  1. Id | EntryTime | Duration

我想找出一天中两个小时之间的平均进入时间,考虑到这两个小时之间的所有记录。
所以如果我的输入时间字段在两个小时之间:

  1. (Edited)
  2. 12:00:00
  3. 10:00:00
  4. 08:00:00
  5. 10:00:00

那么返回的平均时间应该是:

  1. 10:00:00

根本不应该考虑日期,应该以字符串格式或只返回的方式返回日期 10:00:00 .

ycl3bljg

ycl3bljg1#

如果我没听错的话,你可以用间隔来表示这个;其思想是从时间戳中减去日期部分:这将为您提供一个表示时间部分的时间间隔,而不是您可以平均的时间间隔。
假设您的表被调用 t 时间戳存储在列中 ts ,即:

  1. select avg(entry_time - entry_time::date) avg_time from t

db小提琴演示
样本数据:

  1. | entry_time |
  2. | :------------------ |
  3. | 2020-07-14 12:00:00 |
  4. | 2020-07-12 10:00:00 |
  5. | 2020-07-10 08:00:00 |
  6. | 2020-07-01 10:00:00 |

结果:

  1. | avg_time |
  2. | :------- |
  3. | 10:00:00 |
展开查看全部
k4aesqcs

k4aesqcs2#

尝试选择avg(entry\u time-entry\u time::date)::time(0)以避免秒分数。

相关问题