【发布时间】:2018-07-27 08:49:50
【问题描述】:
在 SQL 中,我会使用这样的东西:
SELECT year(created_at)
FROM videos
GROUP BY year(created_at)
如何使用 Rails 运行此查询?
我试过这个:
Video.all.group_by { |m| m.created_at.year }
...但这将返回按相应年份分组的所有记录,这还不错,除了返回数百条记录,而我只需要知道年份。
任何指针?
如果您想知道我使用的是 Rails 5.1.5 和 MariaDB (10.2.14-MariaDB-10.2.14+maria~xenial-log)。
【问题讨论】:
-
你的意思是你只想要几年?
Event.all.group_by { |m| m.created_at.year }.keys -
好吧,我现在感觉很笨。这样可行。该查询会和我发布的 SQL 一样高效吗?
-
@user3209270:很遗憾,不,这是最慢和最浪费的方法之一。
标签: ruby-on-rails ruby-on-rails-5 mysql2