使用rails方法计算mysql中的日期年龄

时间:2016-02-28 14:29:46

标签: mysql ruby-on-rails

我希望通过对模型上的方法进行分组来获得基于.count的格式 我试过的是

Model.all.group(:age_at_x).count

Model.all.group_by { |v| v.age_at_x }.count

在模型中定义了age_at_x。我知道这会尝试使用方法对MySQL进行分组,但我似乎无法通过该方法实际分组?

def age_at_x
  date = Time.new(2016, 6, 25)
  dob = self.birth 
  date.year - dob.year - ((date.month > dob.month || (date.month == dob.month && date.day >= dob.day)) ? 0 : 1)
end

我正在考虑不同的年龄,看看每个年龄有多少 - 不是年龄。

此外,将来还要计算18岁以上和18岁以下。

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,那么你正试图按年龄计算人数,试试:

Model.select(:birth).distinct.count