I disagree. In the case you are proposing, the computation would be
done web2py site since you are fetching all rows.
In the current implementation you can do

s=(db.some_table.amount.sum()
+db.some_table.amount.min())*(db.some_table.amount.max()+3)
row = db(...).select(s).first()
answer = row[s]

and it still works. The computation is done by the database without
fetching data. It is very general.

On Mar 9, 9:08 pm, Thadeus Burgess <[email protected]> wrote:
> Still doesn't seem natural.
>
> db(...).select(....).sum(db.table.field) seems much more natural.
>
> rows = db(db.table.id > 0).select(orderby=~db.table.datetimestamp)
>
> total_hours = rows.sum(db.table.hours_worked)
> avg_hours = rows.avg(db.table.hours_worked)
>
> Would the actual implementation of this be difficult ?
>
> -Thadeus
>
> On Tue, Mar 9, 2010 at 9:03 PM, mdipierro <[email protected]> wrote:
> > s=db.some_table.amount.sum()
> > row = db(...).select(s).first()
> > answer = row[s]
>
> > On Mar 9, 8:23 pm, Thadeus Burgess <[email protected]> wrote:
> >> Is it just me or is this archaic?
>
> >> -Thadeus
>
> >> On Tue, Mar 9, 2010 at 6:48 PM, Russell <[email protected]> wrote:
> >> > The number is stored in a dictionary called '_extra'.  The top part of
> >> > what you are getting is the dictionary key.  Do something like this to
> >> > get just the number...
>
> >> > row = db(...).select(db.some_table.amount.sum())[0]
> >> > answer = row.'_extra['SUM(some_table.amount) ']
>
> >> > See pg 169 of the book.
>
> >> > On Mar 10, 1:23 pm, minh <[email protected]> wrote:
> >> >> I couldn't find much documentation on sum() and I'm not sure how to
> >> >> use it.
>
> >> >> If I have something like
>
> >> >> define_table('some_table',
> >> >>    Field('amount', 'integer')
> >> >>   ...
>
> >> >> I try db(...).select(db.some_table.amount.sum())
>
> >> >> When I print it out, I get something like:
>
> >> >> SUM(some_table.amount)
> >> >> 300
>
> >> >> How do I get it to print just the number?
>
> >> >> Thanks.
>
> >> > --
> >> > You received this message because you are subscribed to the Google 
> >> > Groups "web2py-users" group.
> >> > To post to this group, send email to [email protected].
> >> > To unsubscribe from this group, send email to 
> >> > [email protected].
> >> > For more options, visit this group 
> >> > athttp://groups.google.com/group/web2py?hl=en.
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "web2py-users" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to 
> > [email protected].
> > For more options, visit this group 
> > athttp://groups.google.com/group/web2py?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en.

Reply via email to