我有两个表(在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/

10-10 19:52