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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/groups/opt_out.