我需要获取在特定时间段内创建的记录数。我现在想要使用的东西看起来有点像这样:
User.where('created_at between ? and ?', start, finish).group("date(created_at)").count
我得到的是哈希,其中日期为键,数字为值。但是当特定日期的值为0时,它不包含在散列中。我怎么能包括这些日期呢?我的意思是MySQL,而不是Ruby语言,我希望它尽可能快。
答案 0 :(得分:0)
如果在给定范围内的DB中没有记录,则AR或MySQL无法创建组。
我had a similar issue我只能用Ruby解决它..
User
.where('created_at between ? and ?', start, finish)
.group("date(created_at)")
.flat_map{ |a,b| [a => b.count] }
.inject(:merge)