sql >> Database >  >> RDS >> Mysql

Haal de laatste tijdstempelrij op uit de tabel met INNER JOIN

Het is moeilijk om veel te zeggen zonder de kandidaatsleutels van elke tafel te kennen, maar in het algemeen moet u ervoor zorgen dat de SELECT clausule is functioneel afhankelijk van de GROUP BY clausule. Gezien je formulering van het probleem zou ik iets voorstellen als:

SELECT e.name,e.illness, e.patient_id,e.patient_image,e.area, e.arduino_mac,
       l.arduino_mac, l.latitude, l.longitude, l.timestamp as ts 
FROM elderly1 e 
JOIN ( SELECT l1.arduino_mac, l1.latitude, l1.longitude, l1.timestamp
       FROM location l1
       WHERE timestamp = ( SELECT MAX(timestamp)
                           FROM LOCATION l2
                           WHERE l1.arduino_mac = l2.arduino_mac )
) as l
    on e.arduino_mac = l.arduino_mac 
ORDER BY l.timestamp


  1. roep een php-script aan voor elke rij in mijn database mysql

  2. Bereken deciel in MySQL op basis van totalen

  3. MySQL - haal een waarde op uit een andere tabel als de kolom null is

  4. Waarschuwing:mysql_error():opgegeven argument is geen geldige MySQL-Link-bron