我有这个问题:
Model.where(
'user_id = ? AND created_at > ? AND created_at < ?',
current_user.id, date1, date2
).group(:something1).count
返回:
{257=>1, 264=>2}
根据我需要获得的最高值:
{264=>2, 257=>1}
我可以在循环中对数据进行排序,但这不是很有效。有没有办法直接从查询中获取排序数据?或者,有没有比Ruby循环更有效地对日期进行排序的方法?
答案 0 :(得分:0)
您可以在生成的哈希上使用sort_by
,例如:
Model.where('user_id = ? AND created_at > ? AND created_at < ?', current_user.id, date1, date2).group(:something1).count.sort_by { |k, v| v }