我想建立注册用户图表(每天)
我将使用谷歌图表,所以我应该有数据可以使用
我写了一个按天计算注册用户的 SQL 查询
SELECT DATE(created_at), COUNT(DISTINCT id) amount
FROM users
GROUP BY DATE(created_at)
这会返回一个带有数据和用户数的哈希值
{"date"=>"2013-09-24", "amount"=>"100"}
{"date"=>"2013-09-26", "amount"=>"1"}
{"date"=>"2013-10-01", "amount"=>"2"}
问题:
我想在没有任何新用户的日子里显示 0 个注册,例如
{"date"=>"2013-09-25", "amount"=>"0"}
(我正在使用 pg 数据库,我也在 rails 应用程序中使用了这个查询,所以你可以使用 ActiveRecord 给我一个建议)
**UPDATE**
对于我的 Rails 应用程序,我以这种方式解决了这个问题
#controller
def charts
users = User.select([:id, :created_at])
@data = users.where("created_at >= ?", Date.today - 1.month)
@inf = []
@date = []
month = Date.today - 1.month
month.upto(Date.today).each do |date|
@date << date.strftime('%d/%m')
@inf << @data.select{|u| u.created_at.to_date == date }.size
end
end
在@inf
和@date
数组中,我有注册用户和日期的计数。