【问题标题】:count the number of rows with a condition with SQLAlchemy使用 SQLAlchemy 计算具有条件的行数
【发布时间】:2014-10-25 15:46:39
【问题描述】:

我有一个这样的 sqlite 表。其中有 3 列。我想要 计算 user_id = 1 的行数 SQLAlchemy 有可能吗?

class UserImage(db.Model):
        id = db.Column(db.Integer, primary_key=True)
        user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
        photo = db.Column(db.String(250))

这将返回所有行。如何修改它以获得我的预期结果。 rows = db.session.query(func.count(UserImage.user_id)).scalar()

非常感谢您。

【问题讨论】:

    标签: python-2.7 flask sqlalchemy flask-sqlalchemy


    【解决方案1】:

    你可以这样做:

    UserImage.query.filter(UserImage.user_id == 1).count()
    

    db.session.query(UserImage).filter(UserImage.user_id == 1).count()
    

    【讨论】:

    • 我需要获取变量的行数。我还必须使用 .scalar() 吗?
    • 如果您需要受查询影响的行数,则不需要标量。标量将返回对象实例而不是对象的计数。 count 返回一个大于或等于零的整数值。
    • 第一种方法和第二种方法有区别吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 2012-10-08
    相关资源
    最近更新 更多