Tôi đang cố viết truy vấn để nhận được N nhận xét gần đây nhất cho nhiều mục.MySQL và SQLAlchemy: nhận được N ý kiến gần đây cho nhiều mục
Hiện nay, tôi đang lặp qua các mục với một truy vấn mỗi mục:
for i in itemIds:
Comment.query.filter_by(itemId=i).order_by(Comment.id.desc()).limit(3)
Nhưng điều này là rất chậm.
Tôi muốn có một truy vấn duy nhất nhận tất cả nhận xét nhưng không biết cách thực hiện. Tôi đã thử sử dụng union
nhưng chưa nhận được nó để làm việc. Tôi xuất hiện có vấn đề với MySQL, order_by
và union
. Tôi đang cố gắng điều gì đó ảnh hưởng của:
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()
Nhưng điều đó không hiệu quả. Nó phàn nàn về 'Sử dụng sai UNION và ORDER BY'.
Tôi không phải là một ninja MySQL hay SQLAlchemy, và đã đập đầu tôi vào điều này hàng giờ liền.
Trợ giúp xin vui lòng! Bất kỳ gợi ý hay lời khuyên nào sẽ được đánh giá cao.
tạo ảnh vui nhộn .. mà hiện nó. Cám ơn rất nhiều! – aspiringwebninja