5
我正在尝试编写一个查询以获取多条项目的N条最新评论。MySQL和SQLAlchemy:为多个项目获取N条最新评论
目前,我通过项目循环,每个项目的查询:
for i in itemIds:
Comment.query.filter_by(itemId=i).order_by(Comment.id.desc()).limit(3)
但这实在是太慢了。
我想要一个单一的查询获取所有的评论,但不知道如何。我试过使用union
,但还没有得到它的工作。我看起来有MySQL的问题,order_by
和union
。我正在尝试一些效果:
a = Comment.query.filter_by(itemId=1).order_by(Comment.id.desc()).limit(3)
b = Comment.query.filter_by(itemId=2).order_by(Comment.id.desc()).limit(3)
u = union_all(a,b)
DB.session.query(Comment).select_from(u).all()
但是这并不奏效。它抱怨'不正确使用UNION和ORDER BY'。
我不是一个MySQL或SQLAlchemy忍者,并且一直在我的头上打了几个小时。
请帮忙!任何指针或建议将不胜感激。
真棒..这做的。非常感谢! – aspiringwebninja 2013-02-27 07:25:25