Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Last 10 records based on a condition
Message
From
31/12/2001 11:23:30
 
 
To
31/12/2001 09:36:38
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00599284
Message ID:
00599398
Views:
16
>>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.
>
>Michel,
>IMHO with SQL approaches there would be some overhead whatever you do. I'd try traditional old xbas approach and I think it would be much faster :
>
>
>select myTable
>go bottom
>afields(arrStruc)
>create cursor crsResult from array arrStruc
>select myTable
>lnFound = 0
>do while lnFound < 10 and !bof()
>  if myCondition
>    scatter memvar
>    insert into crsResult from memvar
>    lnFound = lnFound + 1
>  endif
>  skip -1
>enddo
>select crsResult
>brow
Cetin

Yes, but the problem with that is that some conditions will require several thousands of skip which will take longer for them.
Michel Fournier
Level Extreme Inc.
Designer, architect, owner of the Level Extreme Platform
Subscribe to the site at https://www.levelextreme.com/Home/DataEntry?Activator=55&NoStore=303
Subscription benefits https://www.levelextreme.com/Home/ViewPage?Activator=7&ID=52
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform