I have some working SQL that gets the last two id's (autoincremented) in a TaskRevisons table that has a column that maps to an id in a Tasks table.
The SQL is: select task_id, id from TaskRevisions where ( select count(*) from TaskRevisions as t where t.task_id = TaskRevisions.task_id and t.id <= TaskRevisions.id ) <= 2 I've got to: taskrev_alias = aliased(TaskRevision, name='taskrev_alias') subq = s.query(func.count(TaskRevision.id).label('rev_count')). \ filter(and_(TaskRevision.task_id == taskrev_alias.task_id, \ taskrev_alias.id <= TaskRevision.id)).subquery () s.query(TaskRevision.task_id, TaskRevision.id).filter(subq.c.rev_count <= 2 ).all() but it's not quite working... so I'd appreciate a pointer :-) -- 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 https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.