使用多个嵌套SELECT语句中的值插入一个MySQL行

使用多个嵌套SELECT语句中的值插入一个MySQL行,mysql,Mysql,我试图将以下两条语句组合成一条SELECT语句,这样我就可以用一条语句将返回值插入同一行 SELECT ROUND(AVG(pressure),1) FROM rawinput WHERE timestamp >= SUBDATE(timestamp(now()), INTERVAL 1 HOUR); SELECT ROUND((SELECT AVG(hourly_average_pressure) FROM hour_numbers WHERE timestamp >= CURT

我试图将以下两条语句组合成一条SELECT语句,这样我就可以用一条语句将返回值插入同一行

SELECT ROUND(AVG(pressure),1) FROM rawinput WHERE timestamp >= SUBDATE(timestamp(now()), INTERVAL 1 HOUR);

SELECT ROUND((SELECT AVG(hourly_average_pressure) FROM hour_numbers WHERE timestamp >= CURTIME() - INTERVAL 1 HOUR)-(SELECT AVG(hourly_average_pressure) FROM hour_numbers WHERE timestamp >= CURTIME() - INTERVAL 2 HOUR AND timestamp < CURTIME() - INTERVAL 1 HOUR),1);
我已经尝试过像下面这样格式化,基本上是在两个SELECT语句周围添加括号,并用逗号替换分号,但是我得到了语法错误。使用UNION ALL是唯一的方法,还是我在格式中遗漏了什么?谢谢你的帮助

(SELECT ROUND(AVG(pressure),1) FROM rawinput WHERE timestamp >=SUBDATE(timestamp(now()), INTERVAL 1 HOUR)), (SELECT ROUND((SELECT AVG(hourly_average_pressure) FROM hour_numbers WHERE timestamp >= CURTIME() - INTERVAL 1 HOUR)-(SELECT AVG(hourly_average_pressure) FROM hour_numbers WHERE timestamp >= CURTIME() - INTERVAL 2 HOUR AND timestamp < CURTIME() - INTERVAL 1 HOUR),1));

如果正确格式化代码,很容易看到代码前面缺少SELECT语句

(
    SELECT ROUND(AVG(pressure),1) 
    FROM rawinput 
    WHERE timestamp >=SUBDATE(timestamp(now()), INTERVAL 1 HOUR)
)
, (
    SELECT ROUND((SELECT AVG(hourly_average_pressure) FROM hour_numbers WHERE timestamp >= CURTIME() - INTERVAL 1 HOUR)-(SELECT AVG(hourly_average_pressure) 
    FROM hour_numbers 
    WHERE timestamp >= CURTIME() - INTERVAL 2 HOUR AND timestamp < CURTIME() - INTERVAL 1 HOUR),1)
);

请您澄清一下您期望的输出是什么,以及这两个语句是如何连接的?它们具有相同的时间戳,ID等等?当然,我试图将这两个select语句返回的值插入到一行一个insert语句中。所有字段都不允许为空,因此,当插入带有关于温度和压力计算值的时间戳的数据时,必须在一条语句中完成,因此它们将带有相同的时间戳。。。该数据库用于从Raspberry Pi气象监测站收集数据,该站运行良好。正如您所演示的那样,正确的格式设置无疑将防止我在编写各种存储过程时遇到更多问题,谢谢:-
SELECT (
    SELECT ROUND(AVG(pressure),1) 
    FROM rawinput 
    WHERE timestamp >=SUBDATE(timestamp(now()), INTERVAL 1 HOUR)
)
, (
    SELECT ROUND((
        SELECT AVG(hourly_average_pressure) 
        FROM hour_numbers 
        WHERE timestamp >= CURTIME() - INTERVAL 1 HOUR
    ) - (
        SELECT AVG(hourly_average_pressure) 
        FROM hour_numbers 
        WHERE timestamp >= CURTIME() - INTERVAL 2 HOUR AND timestamp < CURTIME() - INTERVAL 1 HOUR
    ), 1)
);