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.

