0
사용자에 대한 데이터가 들어있는 테이블이 있습니다. 거기에 두 개의 필드가 like
과 smile
입니다. 테이블에서 데이터를 가져와야합니다. 사용자가 좋아하거나 웃으면 표시되는 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
의 좋아 반환합니다 내가 지금 한 일은이다. 당신이 비교 당신이 일반적으로 파이썬에서 무엇을 사용하고있는 방법을 할 거라고 연산자 오버로딩에
감사합니다. 먼저 작성했지만 IDE에서 잘못 표시 했으므로 시도하지 않았습니다./모두 잘 작동합니다. – PerunSS