【问题标题】:Get sum of due_amount for each date for this week in rails在rails中获取本周每个日期的due_amount总和
【发布时间】:2021-01-29 17:11:35
【问题描述】:

我想获得每周/每月/每年的报告,在该报告中,我需要获得本周/月/年每天的字段 due_amount 的总数

我需要类似的东西
星期日 => 1000 (due_amount 500+500)
星期一 => 1200
星期二 => 500
直到星期六(周末)

如果是每月,那么从 1 日到 31 日,如果是每年,那么从 1 月 2 日到 12 月。

我做的是

Invoice.group(&:week).where('due_date BETWEEN ? AND ?', date_range[:current_start_date].to_date, date_range[:current_end_date].to_date).sum(:due_amount)

但它不起作用

我也可以做 date_trunc('week', ) 但我不知道怎么做。

请帮帮我。

【问题讨论】:

    标签: ruby-on-rails postgresql group-by


    【解决方案1】:

    简单的解决方案 - 添加gem groupdate,您将能够执行类似的操作

    Invoice.group_by_day(:due_date, range: 2.weeks.ago.midnight..Time.now).map(&:due_amount).sum
    

    【讨论】:

    • 谢谢,但我知道,我不想为查询添加 gem
    • 好吧,这就是你的想法:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 2019-12-29
    • 2014-07-24
    • 2012-05-14
    • 1970-01-01
    相关资源
    最近更新 更多