如何显示数据库的最新值?

时间:2016-06-04 23:39:14

标签: mysql sql

我有这样的表格:

enter image description here

我要显示名称和温度的最新值,我该怎么做?

我尝试了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);

1 个答案:

答案 0 :(得分:1)

SELECT name, temperature, time
FROM marker m
WHERE timeval= (SELECT MAX(time) FROM marker p where p.name=m.name);

这应该有效。在您的查询中,因为子查询中没有where子句,它会尝试匹配所有行的最大时间,而不是我认为的。