Rails最多出现在从date字段开始的星期几

时间:2017-12-11 12:20:29

标签: ruby-on-rails postgresql

在带有postgres的rails 5项目中,我必须从日期时间字段中获得最多的星期几 像日志表

ID date
1  01-12-2017  //Day is Friday here
2  01-12-2017  //Day is Friday here
3  02-12-2017  //Day is Saturday here
4  02-11-2017  //Day is Thursday here
5  02-10-2017  //Day is Monday here

因此,周一发生最多的一天是 FRIDAY,其中ID为2,而ID为1& 2

我可以按照一周的时间分组以获得这样的结果吗?

1 个答案:

答案 0 :(得分:1)

您可以使用gem groupdate

您可以执行以下查询:

records = YOURMODEL.group_by_day_of_week(:date).count
day = Hash[records.sort_by{|k, v| v}.reverse].first[0]

这一天将有一天如1,2等星期一,星期二。