Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Fastest way for sum records
Message
From
08/12/2008 12:24:22
 
 
To
08/12/2008 09:14:50
Mike Yearwood
Toronto, Ontario, Canada
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 7 SP1
OS:
Windows XP SP2
Miscellaneous
Thread ID:
01365809
Message ID:
01366002
Views:
10
>>>>Hi all,
>>>>I have a table with at least 200000 records in it.
>>>>IdField and Payment are its fields.
>>>>What is the fastest way to getting sum of payment for some records?
>>>>Is SUM command suitable for this?
>>>>SUM Payment ALL FOR IdField=2134 TO SumPayment
>>>
>>>select sum(Payments) as TotalPayments from myTable where IDField = 2134 into cursor c_TotalPayments
>>>
>>>?  nvl(c_TotalPayments.TotalPayments,0)
>>
>>
>>If there's an index on IdField, the following may be faster
>>
>>local SumPayment, IdToDo
>>SumPayment = 0
>>IdToDo = 2134
>>
>>&& set order to the index on IdField
>>&& best set talk Off
>>
>>if( seek(m.IdToDo, 'AliasName') )
>>    sum Payment rest while (IdField == m.IdToDo) to SumPayment
>>endif
>>
>>
>
>I can't think of any way where it would be slower.

CALCULATE SUM() is little faster,
and REST can to be removed...
Previous
Reply
Map
View

Click here to load this message in the networking platform