MySQL user defined variables
इस मामले में आपकी मदद करेगा।
हर बार जब आप कोई नया स्टेटस देखते हैं तो 1
assign असाइन करें संबंधित पंक्ति की पंक्ति संख्या के रूप में।
और अगर आपको वही स्थिति दिखाई देती है जो आपने पिछली पंक्ति में देखी थी तो इसके बजाय एक बढ़ी हुई पंक्ति संख्या निर्दिष्ट करें।
इस तरह आप अंततः row number = 1
. वाले रिकॉर्ड को फ़िल्टर कर सकते हैं केवल। ये विशेष रिकॉर्ड वास्तव में अपनी पिछली पिछली पंक्ति की तुलना में अंतर दिखा रहे हैं
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