vtx_label is one of the tables involved in the join, so this query just counts one of the fields in that table, which should give a single count per row returned by the query. Should work the same if you use db.vtx_vertex.id.count() or any other field in either table. The point is just to do a count on one of the fields in the returned result.
Anthony On Saturday, April 14, 2018 at 12:34:14 PM UTC-4, Annet wrote: > > Hi Anthony, > > Thanks for your reply. > > Does this work: >> >> label_count = db.vtx_label.id.count() >> count = rowset.select(label_count, join=join).first()[label_count] >> >> > Yes, that works, but I don't understand why it works, could you please > explain > how your solution works? The table vtx_labels contains lots of labels, does > label_count count them all? > > > This is the working code: > > > labels = db(db.vtx_label.vertexID==vertexID)._select(db.vtx_label.label) > > join = db.vtx_vertex.on((db.vtx_label.vertexID==db.vtx_vertex.id) & > (db.vtx_vertex.typeID==IOTHINGID)) > > rowset = db((db.vtx_label.label.belongs(labels)) & > (db.vtx_label.vertexID!=vertexID)) > > label_count = db.vtx_label.id.count() > count = rowset.select(label_count, join=join).first()[label_count] > rows = rowset.select(join=join) > > > Best, > > Annet > -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.

