Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 基于日期时间和使用名称获取最后一行_Mysql_Select - Fatal编程技术网

Mysql 基于日期时间和使用名称获取最后一行

Mysql 基于日期时间和使用名称获取最后一行,mysql,select,Mysql,Select,我在MYSQL中有下表: DATETIME dt VARCHAR location FLOAT temperature 此表包含在不同位置测量的许多温度。现在我需要一个SQL查询来获取每个位置的最后测量结果 我真的不知道该怎么做。这可以胜任你的工作 select * from (select location, temperature, dt from my_table) as tab join (select max(dt) as max_dt from my

我在MYSQL中有下表:

DATETIME dt
VARCHAR location
FLOAT temperature
此表包含在不同位置测量的许多温度。现在我需要一个SQL查询来获取每个位置的最后测量结果

我真的不知道该怎么做。

这可以胜任你的工作

    select * from
    (select location, temperature, dt from my_table) as tab
    join
    (select max(dt) as max_dt from my_table
    group by location) as max_date_tab
    on (tab.dt = max_date_tab.max_dt)

请注意,在执行group by聚合时,最好在执行group by之前选择列

select
t1.location,
t2.t2_dt as dt,
t1.temperature 
from table_name t1 
join
(
  select
  location,
  temperature,
  max(dt) as t2_dt
  from table_name
  group by location
)t2
on t2.location = t1.location AND t1.dt = t2.t2_dt
group by t1.location