Mysql
 sql >> база данни >  >> RDS >> Mysql

Извличане на последния ред с времеви клеймо от таблицата с помощта на INNER JOIN

Трудно е да се каже много, без да се знаят кандидат-ключовете на всяка таблица, но като цяло трябва да се уверите, че SELECT Клаузата е функционално зависима от GROUP BY клауза. Като се има предвид вашата формулировка на проблема, бих предложил нещо като:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CSV срещу MySQL производителност

  2. `активен' флаг или не?

  3. единични кавички в SQL заявка

  4. MySQL формати за дата - трудност Вмъкване на дата

  5. Как да вмъкна време 2009-09-22 18:09:37.881 в MYSQL Моят тип колона е DateTime