Py学习  »  DATABASE

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

kiran girase • 6 年前 • 1620 次点击  

我在mysql中有用户位置和用户表。

现在我要的是,我要取全名,手机号码,

上次插入或

每个用户名的最新记录

locationSyncDateTime.

下面我附上了我桌子的截图

事先谢谢。

每个用户名的最新记录

位置同步日期时间。

下面我附上了我桌子的截图

User Table

User Location

事先谢谢。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30483
 
1620 次点击  
文章 [ 1 ]  |  最新文章 6 年前
Madhur Bhaiya
Reply   •   1 楼
Madhur Bhaiya    6 年前
  • 得到 Maximum 价值 LocationSyncDateTime 对于一个 User_Name 在一个 Derived Table t3 .
  • 将主表联接到此派生表 用户名 最大值为 位置同步日期时间 .

尝试以下操作:

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