>>>I need to get the last 10 records of a table based on a condition. However, that table is pretty big and I don't want to use the TOP 10 clause as it will take too long. What type of approach can I use which would be the best? I am looking for a SQL approach. If that is not possible then I'll consider using code.
>>
>>How do you know that TOP 10 would take too long? Try
SELECT TOP 10 *, RECNO() AS recno ;
>> FROM mytable ;
>> WHERE < your condition > ;
>> ORDER BY Recno DESC ;
>> INTO CURSOR mycursor
>
>One a one million records table, it takes about 20 seconds to get the results. That's why I asked for another approach. I didn't think of that RECNO() approach. That is faster than what I used before. But, it is still too long.
Try
Select mytable
SET ORDER TO
SET FILTER TO < your condition >
GO BOTTOM
SKIP -9
COPY REST TO result
--sb--