Puoi farlo:
SELECT
ser.id,
ser.name,
s.status,
s.timestamp
FROM Service ser
INNER JOIN status as s ON s.service_id = ser.id
INNER JOIN
(
SELECT
service_id,
MAX(timestamp) AS MaxDate
FROM status
GROUP BY service_id
) AS a ON a.service_id = s.service_id
AND a.MaxDate = s.timestamp;
Il join con la sottoquery:
SELECT
service_id,
MAX(timestamp) AS MaxDate
FROM status
GROUP BY service_id
Eliminerà tutti gli stati tranne quello con l'ultima data.