所有手机销售记录中,id是主键。brand是手机的标识,可以重复。
class PhoneSaleRecord(db.Model):
id = db.Column(db.Integer, primary_key=True)
brand = db.Column(db.String(20), nullable=False)
price = db.Column(db.Integer)
added = db.Column(db.DateTime)
我想查找,每个手机品牌中,最后录入数据库的手机。
现在已经可以通过两步完成这个目标,先找到所有品牌(不重复):
brands = db.session.query(Phone.brand).dinstinct().all()
再根据brand找到对应的phone
for p in brands:
Phone.query.filter_by(brand=brand).order_by(Phone.added.desc()).first()
但是由于分页的限制,需要将两个SQL合并为一个。
这个该怎么做呀?