Thanks Bruno for the response. Yes, that's what I do -- I almost never use ALL unless I really need it. I'm into minimal overhead at ALL times.
On Jul 3, 12:20 pm, Bruno Rocha <[email protected]> wrote: > the only argument you can pass to count() is a fieldname, so it will count > using DISTINCT > > >>> db(db.products.id>0)._count('id') > > 'SELECT count(DISTINCT id) FROM products WHERE (products.id > 0)' > > Left Joins are Row objects, so this object is a fetched rows from database, > there no way (that I know) to do a left join in a Query or Set objects. > > len(db().select(.....)) # seems to be the only way. > > To minimize the db charge, do the counte by less columns not using .ALL (*) > > total = len(db().select(db.products.id, > db.orders.id, > left=db.orders.on(db.products.id== > db.orders.id) > ) > ) > > On Sun, Jul 3, 2011 at 12:32 PM, weheh <[email protected]> wrote: > > To the best of my knowledge, count() doesn't take an argument, such as > > left. I would like to be proven wrong. If so, then how do we count if > > there's a left join, except by doing a select and then a > > len(db(query).select(...left=[...]))? Seems like it should be able to > > do db(query).count(left=[...]). > > -- > > -- > Bruno Rocha > [ About me:http://zerp.ly/rochacbruno] > [ Aprenda a programar:http://CursoDePython.com.br] > [ O seu aliado nos cuidados com os animais:http://AnimalSystem.com.br] > [ Consultoria em desenvolvimento web:http://www.blouweb.com]

