Трудно е да се каже много, без да се знаят кандидат-ключовете на всяка таблица, но като цяло трябва да се уверите, че 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