New model: db.define_table('categories): Field('title', type='string')) db.define_table('products'): Field('code', type='string'), Field('category', reference 'categories'))
With groupby I obtain a good result. results = db(db.products).select(db.products.category, groupby=db.products. category) But I need to order the results by the category title. If I do like that: results = db(db.products).select(db.products.category, orderby=db.product. category.title, groupby=db.products.category) Ticket is : 'Field' object has no attribute 'title' Is there a way to order these results, or make a query that selct only the categories in db.categories that are in db.products ? Il giorno giovedì 9 giugno 2016 12:56:57 UTC+2, tim.n...@conted.ox.ac.uk ha scritto: > > Looks like you want a subquery. You'll need to decide which of the items > to choose when you have a given category_code. > Say you want the first item with a given category code: > > sub_query = db()._select(db.products.id.min(), groupby=db.products. > category_code) > results = db(db.products.id.belongs(sub_query)).select() > > > On Wednesday, 8 June 2016 15:10:33 UTC+1, Gael Princivalle wrote: > >> Hello. >> >> Is there a way to select some rows without duplicates for a specific >> field ? >> >> MODEL: >> db.define_table('products'): >> Field('code', type='string'), >> Field('category_code', type='integer')) >> >> ROWS: >> code / category_code >> A1125 / 3 >> C2214 / 2 >> D235 / 3 >> Z886 / 1 >> >> I would like to make a select that give this result: >> code / category_code >> A1125 / 3 >> C2214 / 2 >> Z886 / 1 >> >> Someone have an idea ? >> >> Thanks. >> >> >> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.