我有此方法可返回最终结果供我显示,订单表中有金额字段。此查询后,我想要该金额字段的总和,但同时我无法更改get_raw_records
,因为左外连接和过滤器是必需的
def get_raw_records
Order.includes(:customers, :line_items).where(aasm_state: ['completed']).filers(.....)
end
get_raw_records.sum(:amount)
此总和不正确,因为订单项重复,原因是订单项的左外连接
我正在尝试其他方法,例如,但它区分数量而不是订单记录
get_raw_records.distinct.sum(:amount)
有帮助吗?,我无法更改get_raw_records
基本查询
答案 0 :(得分:0)
在执行第二个查询数据之前可能已更改。 您需要在查询中添加此类字段-
sum(amount) over() as need_summ
并仅在任一结果行中使用此值