Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
POSTGRESQL Time1=Time2和Time2的值2+;1小时间隔_Postgresql - Fatal编程技术网

POSTGRESQL Time1=Time2和Time2的值2+;1小时间隔

POSTGRESQL Time1=Time2和Time2的值2+;1小时间隔,postgresql,Postgresql,Hy编码员,我有个问题。 我有一个表1,有2列(时间戳,值1)和3行。表2有两列(时间戳,值2)和1000行 表1为样品的实验室值表2为间隔3分钟的在线测量值 我想表示表2中从时间戳1=时间戳2+1小时开始的间隔内的所有值2 有人有主意吗? 您可以使用以下条件: t2.timestamp BETWEEN t1.timestamp - '1 hour'::interval AND t1.timestamp 此条件可用于联接如下表: SELECT * -- the columns you ne

Hy编码员,我有个问题。 我有一个表1,有2列(时间戳,值1)和3行。表2有两列(时间戳,值2)和1000行

表1为样品的实验室值表2为间隔3分钟的在线测量值

我想表示表2中从时间戳1=时间戳2+1小时开始的间隔内的所有值2

有人有主意吗?

您可以使用以下条件:

t2.timestamp BETWEEN t1.timestamp - '1 hour'::interval AND t1.timestamp
此条件可用于
联接
如下表:

SELECT *   -- the columns you need
FROM table1
LEFT JOIN table2 t2 
    ON t2.timestamp BETWEEN t1.timestamp - '1 hour'::interval AND t1.timestamp
要从表2中获取值的平均值,可以启用聚合:

SELECT t1.timestamp, t1.value, AVG(t2.value) avg_value2
FROM table1
LEFT JOIN table2 t2 
    ON t2.timestamp BETWEEN t1.timestamp - '1 hour'::interval AND t1.timestamp
GROUP BY t1.timestamp, t1.value

它起作用了!谢谢!如何在此时间间隔内使用表2中的值1的平均值?@Sascha:您可以使用聚合。我更新了我的答案。