आप किसी भी पंक्ति को हटाना चाहते हैं जहाँ पिछली पंक्ति का प्रकार समान हो। तो:
select timestamp, type
from (select t.*,
lag(type) over (order by timestamp) as prev_type
from ticket_events t
) t
where prev_type <> type or prev_type is null;
where
खंड को इस प्रकार भी कहा जा सकता है:
where prev_type is distinct from type
यदि आप "अपमानजनक" पंक्तियों को हटाना चाहते हैं, तो आप निम्न कार्य कर सकते हैं -- मान लें कि timestamp
अद्वितीय है:
delete from ticket_events
using (select t.*,
lag(type) over (order by timestamp) as prev_type
from ticket_events t
) tt
where tt.timestamp = t.timestamp and
tt.prev_type = t.type;