MySQL user defined variables
skulle hjälpa dig i det här fallet.
Tilldela 1
varje gång du ser en ny status som radnummer till motsvarande rad.
Och om du ser samma status som du såg i föregående rad, tilldela istället ett ökat radnummer.
På så sätt kan du äntligen filtrera posterna med row number = 1
endast. Dessa särskilda poster visar faktiskt skillnad jämfört med deras omedelbara föregående rad
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