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