sql >> データベース >  >> RDS >> PostgreSQL

SqlAlchemy(Postgres + Flask):複数の列を合計する方法は?

    式を作成する必要があります hybrid_methodの場合

    class Score(db.Model):
        __tablename__ = 'scores'
        item_id  = db.Column(db.Integer(), primary_key=True)
        score1 = db.Column(db.Integer(), nullable=False)
        score2 = db.Column(db.Integer(), nullable=False)
        score3 = db.Column(db.Integer(), nullable=False)
        score4 = db.Column(db.Integer(), nullable=False)
    
        @hybrid_method
        def total_score(self, fields):
            return sum(getattr(self, field) for field in fields)
    
        @total_score.expression
        def total_score(cls, fields):
            return sum(getattr(cls, field) for field in fields)
    
    
    fields = ['score1', 'score2']
    scores = db.session.query(Score.item_id, Score.total_score(fields).label('total_score')).order_by('total_score')
    final_output = [score._asdict() for score in scores]
    



    1. DBMSコンテキストでのBLOBとは正確には何ですか

    2. SQL Serverで日付を切り捨てる最良の方法は何ですか?

    3. 警告:PDOStatement ::bindValue():SQLSTATE [HY093]:無効なパラメーター番号:列/パラメーターは1ベースです

    4. tinyintをブール休止状態としてマップします