SELECT *,0000 as grouper FROM tickets INTO CURSOR c_tickets order by ticket READWRITE LOCAL lnGrouper lnGrouper=1 SELECT c_tickets SCATTER MEMVAR SCAN ALL IF status<>m.status or booknumber<>m.booknumber lnGrouper=lnGrouper+1 ENDIF replace grouper WITH lnGrouper IN c_tickets SCATTER MEMVAR ENDSCAN select booknumber,status, min(ticket),max(ticket) ; from c_tickets ; group by booknumber,grouper