所有設備的信息,我有如下兩個表:MySQL查詢 - 檢索與最新的時間戳值
devices
:
tracking
:
我需要構建一個MySQL查詢將返回所有設備與最新的latitu經度和緯度。通過僅獲取具有最新時間戳值的每個設備的追蹤行,可以挑選最新的行。我無法自己構建這個查詢。請幫忙。
輸出的cols: devices.Name,devices.IMEI,tracking.latitude,tracking.longitude
感謝
所有設備的信息,我有如下兩個表:MySQL查詢 - 檢索與最新的時間戳值
devices
:
tracking
:
我需要構建一個MySQL查詢將返回所有設備與最新的latitu經度和緯度。通過僅獲取具有最新時間戳值的每個設備的追蹤行,可以挑選最新的行。我無法自己構建這個查詢。請幫忙。
輸出的cols: devices.Name,devices.IMEI,tracking.latitude,tracking.longitude
感謝
這應該這樣做,使用左連接來確保沒有更新行;
SELECT d.name, d.IMEI, t.latitude, t.longitude
FROM devices d
JOIN tracking t
ON d.IMEI=t.IMEI
LEFT JOIN tracking t2
ON d.IMEI=t2.IMEI
AND t2.ctimestamp>t.ctimestamp
WHERE t2.IMEI IS NULL
從跟蹤
select *
from tracking join (select imei, max(ctimestamp) as maxtime
from tracking
group by imei) as sub
on sub.imei = tracking.imei
and sub.ctimestamp = tracking.timestamp
,你一定能獲得參加頂級數據設備表和自己打印名稱
它正在工作。你能請指導我怎麼能加入到這個複雜的查詢來獲取設備的名字呢?感謝你的幫助。 – Azeem 2013-02-17 11:06:18
它的工作。非常感謝 :) – Azeem 2013-02-17 11:18:23