Bạn đang sử dụng sai tổng hợp
. count(expression)
đếm số hàng mà biểu thức không rỗng. Nếu bạn muốn tính tổng, hãy sử dụng sum(expression)
:
db.session.query(func.sum(Item.data['cost'].astext.cast(Numeric))).\
filter(Item.data['surcharge'].astext.cast(Numeric) > 1).\
scalar()
Lưu ý rằng giá trị tiền tệ và phép toán dấu phẩy động nhị phân là một hỗn hợp không hợp lệ do phao nhị phân không thể đại diện cho tất cả các giá trị thập phân
. Thay vào đó, hãy sử dụng loại tiền
phù hợp hoặc Numeric
trong trường hợp đó SQLAlchemy sử dụng Decimal
để biểu diễn kết quả bằng Python.