次の2つのテーブルがあります。
devices
:
tracking
:
最新の緯度と経度を持つすべてのデバイスを返す MySQL クエリを作成する必要があります。最新のタイムスタンプ値を持つ各デバイスの追跡行のみをフェッチすることで、最新の行を選択できます。このクエリを自分で作成することはできません。助けてください。
出力列: devices.Name、devices.IMEI、tracking.latitude、tracking.longitude
ありがとう
次の2つのテーブルがあります。
devices
:
tracking
:
最新の緯度と経度を持つすべてのデバイスを返す MySQL クエリを作成する必要があります。最新のタイムスタンプ値を持つ各デバイスの追跡行のみをフェッチすることで、最新の行を選択できます。このクエリを自分で作成することはできません。助けてください。
出力列: devices.Name、devices.IMEI、tracking.latitude、tracking.longitude
ありがとう
追跡から上位データを取得する
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
デバイステーブルに参加して、自分で名前を印刷できます
左結合を使用して、新しい行がないことを確認します。
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