【发布时间】:2017-11-23 06:37:15
【问题描述】:
给定这样的表格:
日志:
id, user_id, points, created_at
使用 Rails,我如何通过 user_id 查询数据库,然后通过 created_at 按周分组,然后我可以得到类似的东西:
WEEK of X/XX/XXXX - 3011 total points
WEEK of X/XX/XXXX - 320 total points
WEEK of X/XX/XXXX - 31 total points
WEEK of X/XX/XXXX - 30330 total points
谢谢
【问题讨论】:
-
如果你使用的是 postgresql,你可以这样做:
User.all.group("DATE_TRUNC('week', created_at)").但这只会让你走到一半。 -
您使用的是什么数据库?
-
Log.sum(:points).group("DATE_TRUNC('week', created_at)").where(user_id: user_id)应该为postgres做这件事。如果您使用的是另一个数据库,则必须确定如何将分组处理为几周。 -
我正在使用 postgres
标签: ruby-on-rails ruby postgresql activerecord ruby-on-rails-5