ah ha! yes! that is right.
query = select( (these,columns,) ).distinct( this.column ) this was an even tricker problem... and I might have been executing correct queries last night without realizing it. i just noticed that i was getting a correct query in my database, while I was seeing the wrong query on screen. sqlalchemy didn't know that that 'core' commands I was using were for postgresql, so it rendered the query not using that dialect. when i actually did query the database, it was compiling with the right dialect : _query_EXT = dbSession.query( model.Table.data ) _query_INT = dbSession.query( model.Table.data ) _slurped = sqlalchemy.union( _query_EXT , _query_INT ) _slurped = sqlalchemy.sql.expression.alias( _slurped , name='slurped') _deduped = sqlalchemy.select(\ (\ _slurped.c.object_id.label('object_id') , _slurped.c.event_timestamp.label('event_timestamp') ), )\ .distinct( _slurped.c.object_id )\ .order_by(\ _slurped.c.object_id.desc() , _slurped.c.event_timestamp.desc() ) _deduped = sqlalchemy.sql.expression.alias( _deduped , name='deduped') _culled = sqlalchemy.select( (_deduped.c.object_id,) )\ .order_by(\ _deduped.c.event_timestamp.desc() ) _query = _culled # this executes a "DISTINCT ON ( slurped.object_id ) slurped.object_id , event_timestamp" yay = dbSession.execute( _query ) # this renders a "DISTINCT slurped.object_id , event_timestamp" nay = str( _query ) -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/groups/opt_out.