0
ユーザーに関するデータを保持しているテーブルがあります。そこには、like
とsmile
という2つのフィールドがあります。テーブルからデータを取得する必要があります。グループ化されたデータはuser_id
で、ユーザーが好きなものか笑顔で表示されます。フラスコSQLAlchemy合計関数の比較
| has_smile | has_like | user_id |
+-----------+----------+---------+
| 1 | 0 | 1 |
| 1 | 1 | 2 |
(正確にはフラスコSQLAlchemyの)このクエリはSQLAlchemyのに変換することができます任意のチャンスがあります:
はselect sum(smile) > 0 as has_smile,
sum(like) > 0 as has_like,
user_id
from ratings
group by user_id.
これは、のような出力を提供します:私はSQLで記述したクエリは次のようになりますか?私はdb.func.sum
があることを知っていますが、そこに比較を追加し、ラベルを付ける方法を知らない。私は今のためにしたことは次のとおりです。
cls.query.with_entities("user_id").group_by(user_id).\
add_columns(db.func.sum(cls.smile).label("has_smile"),
db.func.sum(cls.like).label("has_like")).all()
が、そこであるかのように/笑顔がない場合には、笑顔の正確な数を返します/だけではなく1/0
のが好きです。あなたは比較にあなたは、一般的にはPythonでやって慣れている道にしてください演算子オーバーロードに
ありがとう、私はまずそれを書いたが、IDEはそれを悪いとマークしたので、試していない:/すべて正常に動作している。 – PerunSS