1

我有以下 Flask-SQLAlchemy 模型,但是那些不了解 SQLAlchemy 的人应该很容易理解这些 SQL 表:

from myapp.api import db

class Show(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(128))

class Episode(db.Model):
    title = db.Column(db.String(256))
    airtime = db.Column(db.DateTime)
    show_id = db.Column(db.Integer, db.ForeignKey('show.id'), primary_key=True)

    show = db.relationship('Show', backref=db.backref('episodes'), lazy='joined')

我正在尝试为每个节目获取最近的即将上映的剧集(及其节目),但我无法弄清楚执行此操作的 SQL。

我尝试了一堆不同的 , 等组合min()GROUP BY但我觉得我需要使用子查询来做到这一点。

我使用 SQLite 是为了它的价值。

有任何想法吗?

4

1 回答 1

0

这应该返回每个节目的最后一集:

SELECT * FROM Show JOIN Episode ON Show.id=Episode.show_id
WHERE airtime=(SELECT MAX(airtime) FROM Episode WHERE show_id=Show.id)
于 2013-10-30T11:37:11.140 回答