ruby-on-rails - ActiveRecord 查询每天的新用户数

标签 ruby-on-rails ruby-on-rails-3 activerecord

我想生成一个表格,显示每天创建的用户数量。

执行此操作的最有效或最优雅的 ActiveRecord 查询是什么?

我的(简化的)架构如下所示:

create_table "users" do |t|
  t.datetime "created_at"
  t.string   "name"
end

我想要一个看起来像这样的表,其中的整数是每天新用户的数量:
day              new users
2012-04-01       55
2012-04-02       63
2012-04-03       77
2012-04-04       88

我想从一个看起来像这样的数组生成表:
data_table.add_rows( [
  [ Date.parse("2012-04-01"), 55],
  [ Date.parse("2012-04-02"), 63],
  [ Date.parse("2012-04-03"), 77],
  [ Date.parse("2012-04-04"), 88]
] )

最佳答案

您可以使用 ActiveRecord group 方法来做到这一点,如下所示:

@users_created_by_day = User.group("DATE(created_at)").count

这将为您提供一个以日期为键、以当天创建的用户数为值的哈希。

关于ruby-on-rails - ActiveRecord 查询每天的新用户数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10375501/

相关文章:

ruby-on-rails - 两个关系的交集

ruby-on-rails - before_filter 语法当你想要 "except" Controller "abc"

ruby-on-rails-4 - Rails 模型命名空间依赖销毁导致 mysql 错误未知字段

mysql - ActiveRecord where 条件选择查询结果

ruby-on-rails - Rails 条件验证

ruby-on-rails - 如何避免使用 :include in Rails? 进行多次查询

ruby-on-rails - 仅对 Rails 3.1 中的图像使用 asset_host 过程

ruby-on-rails - content_for与部分 yield

ruby-on-rails - 在寻找不存在的 key 时,还有其他人遇到 aws-s3 超时问题吗? S3 对象存在?和 S3 Object.request( :head, ..)

ruby-on-rails - 同一模型之间具有多个 has_many 关联的多态关联