将SQL查询转换为Rails

时间:2011-10-14 21:36:05

标签: mysql sql ruby ruby-on-rails-3

搜索了一段时间后,我找到了SQL查询,它给了我正在寻找的结果。

select * from (select * from services WHERE user_id=1 ORDER BY created_at DESC) AS x GROUP BY servicename

因此用户拥有许多具有不同服务名称和服务时间的服务。 即。服务可以在列表中多次使用不同的服务时间。 我想要的是为他的服务获得最新的服务时间,即serviceA,serviceB和serviceC,但只有最新的记录。

现在我需要将此查询转换为rails,最好将模型放入范围,以便我可以再次调用它。什么是最好的做法?即我找不到如何让内部选择在轨道中工作的解决方案。

我已经做了一些搜索,但找不到类似的问题。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

从服务GROUP BY服务名称中选择* from(SELECT MAX(created_at)为maxdate,(其他颜色名称))r INNER JOIN服务t ON t.servicename = r.servicename和user_id = 1;

我认为这将检索最新的记录,即具有最新服务时间的服务。