>DECLARE @t TABLE (brandid int identity, bookgroup int, Ticket int, status char(1)) > INSERT INTO @t SELECT 1, 1,'Y' >UNION ALL SELECT 1,2, 'Y' UNION ALL SELECT 1,4, 'Y' UNION ALL SELECT 1,5, 'N' > UNION ALL SELECT 1,6, 'N' UNION ALL SELECT 1,7, 'N' UNION ALL SELECT 1,9, 'N' UNION ALL SELECT 1,10, 'Y' > UNION ALL SELECT 1,11, 'Y' UNION ALL SELECT 1,12, 'Y' UNION ALL SELECT 1,13, 'N' UNION ALL SELECT 1,3, 'Y' > UNION ALL SELECT 1,14, 'N' UNION ALL SELECT 1,15, 'N' UNION ALL SELECT 1,16, 'N' UNION ALL SELECT 1,17, 'N' > UNION ALL SELECT 1,18, 'N' UNION ALL SELECT 1,8, 'N' UNION ALL SELECT 1,19, 'N' UNION ALL SELECT 1,21, 'N' > UNION ALL SELECT 1,22, 'N' UNION ALL SELECT 1,23, 'N' UNION ALL SELECT 1,24, 'N' UNION ALL SELECT 1,25, 'N' > UNION ALL SELECT 1,20, 'N' > > select aa.brandid,aa.bookgroup,aa.ticket,aa.status, > sum(CASE WHEN aa.Status<>b.status THEN 1 ELSE 0 END) as seq >into #tktmp >FROM @t as aa >LEFT JOIN @t as b >On b.Ticket>aa.Ticket and b.bookgroup = aa.bookgroup >group by aa.brandid,aa.bookgroup,aa.ticket,aa.status >order by aa.bookgroup,aa.ticket > >select brandid,bookgroup,seq,status, min(ticket) as mintick, max(ticket) as maxtick >from #tktmp >group by brandid,bookgroup,seq,status >order by brandid, bookgroup,mintick >DROP TABLE #Tktmp >>
>>>>select aa.brandid,aa.bookgroup,aa.ticket,aa.status, >>>> sum(CASE WHEN aa.Status<>b.status THEN 1 ELSE 0 END) as seq >>>>into #tktmp >>>>FROM tickets as aa >>>>LEFT JOIN tickets as b >>>>On b.Ticket>aa.Ticket and b.bookgroup = aa.bookgroup >>>>group by aa.brandid,aa.bookgroup,aa.ticket,aa.status >>>>order by aa.bookgroup,aa.ticket >>>> >>>>select brandid,bookgroup,seq,status,min(ticket) as mintick, max(ticket) as maxtick >>>>from #tktmp >>>>group by brandid,bookgroup,seq,status >>>>order by bookgroup,mintick >>>> >>>>>>>>