簡體   English   中英

MYsql僅為每條記錄選擇列上具有最大值的行

[英]MYsql select only rows with max value on a column for each record

我在MySql中有用戶位置和用戶表。

現在我想要的是,我要獲取Full_Name,Mobile_Number,

最后插入的緯度,經度,LocationSyncDateTime或

根據每個用戶名的最新記錄

LocationSyncDateTime。

下面我附上了我的桌子的屏幕截圖

用戶表

用戶位置

提前致謝。

  • 獲取派生表 t3 User_NameLocationSyncDateTime 最大值
  • 將主表與User_NameLocationSyncDateTime最大值上的此派生表連接。

請嘗試以下操作:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM