MySQL user defined variables
te ayudaría en este caso.
Cada vez que vea un nuevo estado asigne 1
como número de fila a la fila correspondiente.
Y si ve el mismo estado que vio en la fila anterior, asigne un número de fila incrementado en su lugar.
De esta manera, finalmente puede filtrar los registros que tienen row number = 1
solamente. Estos registros particulares en realidad muestran una diferencia en comparación con su fila anterior inmediata
SELECT
*
FROM
(
SELECT
*,
IF(@prevStatus = YT.status_1, @rn := @rn + 1,
IF(@prevStatus := YT.status_1, @rn := 1, @rn := 1)
) AS rn
FROM your_table YT
CROSS JOIN
(
SELECT @prevStatus := -1, @rn := 1
) AS var
ORDER BY YT.ID
) AS t
WHERE t.rn = 1
ORDER BY t.ID