2
집계 공유 합계가 0 인 모든 그룹을 필터링하려면 어떻게합니까?SQLAlchemy : 집계 후 필터링 방법
q = session.query(Trades.ticker, func.sum(Trades.shares))
g = q.group_by(Trades.ticker)
f = g.filter(func.sum(Trades.shares) != 0)
result = f.all()
이 3 행에 오류가 발생합니다 :
이... sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) misuse of aggregate: sum() ...
해결 방법은 필터를 제거하는 것입니다 :
result = [x for x in g.all() if x[1] != 0.0]
을하지만 이것은 SQL 쿼리를 필터링에 비해 매우 느립니다 .
은 (간단히 수정 됨.)
다소 관련 : https://stackoverflow.com/questions/648083/sql-error-misuse-of-aggregate –