来自max和order by结果的结果不正确

klh5stk1  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(271)

我想得到最高温度200度的记录,还有温度。我成功地得到了最高温度,但日期不正确。其中肯定有一些“and-ing”,其中“temperature=temperature”和“dateandtime=dateandtime”
块引用

SELECT  DateAndTime, max(Temperature) as MaxTemp, Humidity, BarrPress 
FROM (
      select DateAndTime, Temperature, Humidity,BarrPress 
      from `temp-at-interrupt` 
      order by DateAndTime DESC LIMIT 200
) as T

块引用

acruukt9

acruukt91#

您的查询应该会失败,因为您有混合的聚合列和未聚合列,而且没有 group by .
只是使用 order by 以及 limit :

select t.*
from (select t.*
      from `temp-at-interrupt` t
      order by dateandtime desc
      limit 200
     ) t
order by temperature desc
limit 1;

相关问题