最大查询一天的温度

时间:2013-07-10 04:22:23

标签: mysql sql

很抱歉MYSQL很新,所以对语法不太确定并遇到麻烦。

尝试在某个位置找到当天的最高和最低温度。

例如。 来自outside1 lcoation(locationmap)的今天(timeof)的最小和最大(消息)温度之后

表格设置; (截图)

enter image description here

mqtt / temperatures
-id
-timeof <- DATETIME field
-message <-- this is the temperature field
-topic
-qos
-hardwareid
-locationmap

只需在MySQL workbench atm中运行此查询...

SELECT @min_temp:=MIN(message),@max_temp:=MAX(message),`timeof` FROM `mqtt`.`temperatures`;
SELECT * FROM  `mqtt`.`temperatures` WHERE `timeof` >= CURDATE() AND (message=@min_temp OR message=@max_temp);

以上只返回最小值/最大值,但不是当天,我认为它只返回最小值。

1 个答案:

答案 0 :(得分:1)

添加GROUP BY子句,按位置对结果进行分组。

例如

SELECT locationmap, MIN(message) AS minTemp, MAX(message) AS maxTemp
   FROM temperatures
   GROUP BY locationmap;

这将为您提供每个位置的温度范围。或者,您可以将结果限制在一个位置而不进行分组:

SELECT MIN(message) AS minTemp, MAX(message) AS maxTemp
   FROM temperatures
   WHERE locationmap='kitchen';