postgresql query-average time from datetime字段?

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

我有一个sql表:

Id | EntryTime | Duration

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

(Edited)
12:00:00
10:00:00
08:00:00
10:00:00

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

10:00:00

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

ycl3bljg

ycl3bljg1#

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

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

db小提琴演示
样本数据:

| entry_time          |
| :------------------ |
| 2020-07-14 12:00:00 |
| 2020-07-12 10:00:00 |
| 2020-07-10 08:00:00 |
| 2020-07-01 10:00:00 |

结果:

| avg_time |
| :------- |
| 10:00:00 |
k4aesqcs

k4aesqcs2#

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

相关问题