間違ったcount(expression)
式の対象となる行数をカウントします nullではありません。合計が必要な場合は、sum(expression)
を使用します :
db.session.query(func.sum(Item.data['cost'].astext.cast(Numeric))).\
filter(Item.data['surcharge'].astext.cast(Numeric) > 1).\
scalar()
が原因で、金銭的価値と2進浮動小数点演算は不適切な組み合わせであることに注意してください。バイナリ浮動小数点はすべての10進値を表すことができません
。代わりに、適切な金銭タイプ
を使用してください 、またはNumeric
この場合、SQLAlchemyは Decimal
を使用します。
Pythonで結果を表すため。