Ha sido víctima de las reglas laxas de MySQL que permiten incluir elementos no agregados en una consulta GROUP BY. Claro, estás trabajando con MIN o MAX, y solo UNO a la vez, pero considera esta consulta:
SELECT
CONCAT(work_type, work_id) AS condition_id,
status,
MIN(created_timestamp) as earliest,
MAX(created_timestamp) as latest
FROM conditions
GROUP BY condition_id
Ahora, piensa en qué fila debe provenir la columna de estado. Es absurdo poner una correlación entre las columnas agregadas (las del GROUP BY) y las no agregadas.
En su lugar, escriba su consulta de esta manera
SELECT X.condition_id, C.status, X.earliest
FROM (
SELECT
CONCAT(work_type, work_id) AS condition_id,
status,
MIN(created_timestamp) as earliest
FROM conditions
GROUP BY condition_id
) X JOIN conditions C
on CONCAT(c.work_type, c.work_id) = X.condition_id
and c.created_timestamp = X.earliest
Pero si tenía dos registros con la misma marca de tiempo created_timestamp, se vuelve aún más complicado
SELECT X.condition_id, Max(C.status) status, X.earliest
FROM (
SELECT
CONCAT(work_type, work_id) AS condition_id,
status,
MIN(created_timestamp) as earliest
FROM conditions
GROUP BY condition_id
) X JOIN conditions C
on CONCAT(c.work_type, c.work_id) = X.condition_id
and c.created_timestamp = X.earliest
GROUP BY X.condition_id, X.earliest