Dani Hodovic <danih...@gmail.com> wrote:
> I've been struggling with a query that gets the most recent date as described > here: http://stackoverflow.com/a/123481/2966951 > > I've been able to produce a SQLAlchemy variant, but it seems to be MUCH > slower when executed with MySQL. It also looks slightly differentwith > parameters around the inner query. http://pastebin.com/NWEsFtAY I’m not sure why you’re using subquery() for the SQLAlchemy version when the original SQL you’re looking for has no subquery (and the subquery will perform *terribly* on MySQL). Just join to “mytable” as an alias() itself. t1 = mytable.alias() t2 = mytable.alias() s.query(t1.userid, t1.date).outerjoin(t2, and_(t1.userid == t2.userid, t1.date < t2.date)).filter(t2.userid == None) > > Please don't point me to scalar subqueries as I've looked at the > documentation and this was the best I could come up with. > > As this query is a part of a larger query I attempted to solve it with > text(), but combining ORM code and raw SQL is a pain in the ass. If there is > a text solution however, where this query could be joined with another query > that would work too. > > -- > 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/d/optout. -- 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/d/optout.