簡體   English   中英

SQL:獲取每個用戶的最新位置

[英]SQL: Get latest location for each user

我收集用戶位置,然后在地圖上顯示每個用戶的最新位置。 我不想顯示表格中的所有位置,而只顯示最新的位置。 我該怎么做?

select loc_userid, loc_lat, loc_lon, loc_date 
from friends f 
join location l
on l.loc_userid = f.friendid
where f.userid = 1

上面的代碼在位置表中搜索所有與指定用戶ID成為朋友的成員位置。

嘗試這個:

SELECT l.loc_userid, l.loc_lat, l.loc_lon, l.loc_date 
FROM friends f 
JOIN location l
ON l.loc_userid = f.friendid
WHERE f.userid = 1
ORDER BY f.loc_date DESC
LIMIT 1

再使用一個inner join篩選出最新位置。

select l.loc_userid, l.loc_lat, l.loc_lon, l.loc_date 
from friends f 
inner join location l
on l.loc_userid = f.friendid
inner join (select loc_userid, MAX(loc_date) as max_loc_date 
            from location group by loc_userid) l2
on l.loc_userid = l2.loc_userid and l.loc_date = l2.loc_date
where f.userid = 1

暫無
暫無

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

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