mysql只为每条记录选择列上具有最大值的行

xpcnnkqh  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(270)

我在mysql中有用户位置和用户表。
现在我要的是,我要取全名,手机号码,
上次插入或删除的纬度、经度、位置SyncDateTime
根据每个用户名的最新记录
locationsyncdatetime。
下面我附上了我的table截图


提前谢谢。

xghobddn

xghobddn1#

获取最大值 LocationSyncDateTime 为了一个 User_Name 在派生表中 t3 .
将主表联接到上的此派生表 User_Name 和最大值 LocationSyncDateTime .
请尝试以下操作:

SELECT u.Full_Name, 
       u.Mobile_Number, 
       l.Latitude, 
       l.Longitude, 
       l.LocationSyncDateTime 
FROM user AS u 
JOIN location AS l ON l.User_Name = u.User_Name 
JOIN (SELECT l2.User_Name, 
             MAX(l2.LocationSyncDateTime) AS LocationSyncDateTime 
      FROM location AS l2 
      GROUP BY l2.User_Name
     ) AS t3 ON t3.User_Name = l.User_Name 
                AND t3.LocationSyncDateTime = l.LocationSyncDateTime

相关问题