我有两个表(在SQL Server数据库中),如下所示:
create table tblDevices(
idDevice varchar(255) not null,
(...)
primary key(idGUID));
create table tblEnvironmentLog(
ID int not null auto_increment,
idDevice varchar(30) not null,
txtLocation varchar(255),
datDate date,
datTime time,
primary key(ID));
tblEnvironmentLog
中的每个事件都属于tblDevice
中的设备,并且每个记录都有日期和位置(我需要一个sql查询,它为idDevice
中的每个tblDevices
查找其所有记录中最新记录的location
。我已经尝试编写查询很长时间了,但是找不到解决方案,因此欢迎任何帮助或提示。
最佳答案
因此,您基本上希望得到与每个设备的最新日期/时间对应的行。您已经指定了mysql和sql server。这是针对SQL Server的。
SELECT *
FROM tblDevices t1
INNER JOIN tblEnvironmentLog t2
ON t1.idDevice = t2.idDevice
WHERE t2.ID = (SELECT TOP 1 t3.ID
FROM tblEnvironmentLog t3
WHERE t2.idDevice = t3.idDevice
ORDER BY t3.datDate DESC, t3.datTime DESC)
关于mysql - MySQL查询以查找设备最后一个条目的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43521657/