我有这样的表格:
我要显示名称和温度的最新值,我该怎么做?
我尝试了SQL查询:
SELECT name, temperature,MAX(Time) AS max_time
FROM marker
WHERE Time = max_time
;
但它没有给出预期的结果。
期望的结果:
Sensor #1 8 2016-06-05 01:00:00
Sensor #1 8 2016-06-05 01:00:00
Sensor #1 8 2016-06-05 01:00:00
Sensor #1 8 2016-06-05 01:00:00
Sensor #1 8 2016-06-05 01:00:00
我决定这样:
SELECT name, temperature, Time
FROM marker
WHERE Time = (SELECT MAX(Time) FROM marker);
答案 0 :(得分:1)
SELECT name, temperature, time
FROM marker m
WHERE timeval= (SELECT MAX(time) FROM marker p where p.name=m.name);
这应该有效。在您的查询中,因为子查询中没有where
子句,它会尝试匹配所有行的最大时间,而不是我认为的。