SELECt a.*FROM tableX AS aWHERe a.StatusA <> ( SELECt b.StatusA FROM tableX AS b WHERe a.System = b.System AND a.Timestamp > b.Timestamp ORDER BY b.Timestamp DESC LIMIT 1 )
但是您也可以尝试使用此方法(在上使用索引
(System,Timestamp):
SELECt System, Timestamp, StatusA, StatusBFROM ( SELECt (@statusPre <> statusA AND @systemPre=System) AS statusChanged , System, Timestamp, StatusA, StatusB , @statusPre := StatusA , @systemPre := System FROM tableX , (SELECT @statusPre:=NULL, @systemPre:=NULL) AS d ORDER BY System, Timestamp ) AS goodWHERe statusChanged ;



