【发布时间】:2020-07-04 10:11:56
【问题描述】:
Rails 查询忍者,我很难从我的 Postgres 数据库中获取按创建周分组的记录。
(在您因为重复而阻止此问题之前,请查看我已经尝试了我在 SO 其他地方找到的内容,但我的结果没有用。我仍然缺少一些东西。)
给定一个带有 created_at 时间戳的 ActiveRecord User 对象,我想快速找出一年中每周创建了多少用户。
我试过了:
> User.select("DATE_TRUNC('week', created_at) as week").group("week")
User Load (0.4ms) SELECT DATE_TRUNC('week', created_at) as week FROM "users" GROUP BY week
[#<User:0x00007fb73892e978 id: nil>,
#<User:0x00007fb73892e7e8 id: nil>,
#<User:0x00007fb73892e5e0 id: nil>,
#<User:0x00007fb73892e400 id: nil>,
#<User:0x00007fb73892e270 id: nil>]
这似乎有效,因为该测试数据中有 7 条记录,并且有 2 条记录在同一周,但我想要在周数旁边的总数的数字响应:
Week Count
1 2
2 1
3 1
4 5
或哈希或任何可用的东西。
或普通的 ruby User.group(:created_at).count,但我不确定如何将周数用于此查询。
感谢您的帮助!
【问题讨论】:
标签: ruby-on-rails postgresql date