आप निम्न क्वेरी का उपयोग कर सकते हैं:
SELECT RaidNo, OutComeID, RN,
CASE
WHEN OutComeID <> 16 THEN 0
ELSE ROW_NUMBER() OVER (PARTITION BY OutComeID, grp ORDER BY RN)
END AS Result
FROM (
SELECT RaidNo, OutComeID, RN,
RN - ROW_NUMBER() OVER (PARTITION BY OutComeID ORDER BY RN) AS grp
FROM mytable) AS t
ORDER BY RN
फ़ील्ड grp
समान OutComeID
. वाले लगातार रिकॉर्ड के स्लाइस (जिन्हें द्वीप भी कहा जाता है) की पहचान करता है मूल्य। बाहरी क्वेरी grp
. का उपयोग करती है '16'
. से संबंधित प्रत्येक रिकॉर्ड की गणना करने के लिए टुकड़ा। अन्य स्लाइस से संबंधित रिकॉर्ड्स को असाइन किया गया मान 0
. है ।