【问题标题】:How do i convert this mysql query to a Rails query如何将此 mysql 查询转换为 Rails 查询
【发布时间】:2014-02-21 22:10:14
【问题描述】:

如何将其转换为 Rails 查询?我好像搞不懂。

select * from (select * from users order by date desc) as sub group by environment_id, platform;

这是我的 mysql 查询,它有效并且是我需要的,但我无法将它转换为 ruby​​ on rails 查询。这是我到目前为止所拥有的,但没有任何运气:

 data = User.select("*").join("(select * from users order by date desc) as sub").group("environment_id, platform")

感谢您的帮助

【问题讨论】:

    标签: ruby-on-rails select join group-by


    【解决方案1】:

    也许我错过了你为什么使用“as sub”,但以防万一它不是真的需要,你可以试试这个:

    User.order(:date => :desc).group('environment_id, platform')
    

    【讨论】:

    • sub 是我要查询的子表的别名
    • 您要求从一个表中获取所有行两次,合并到一次...您能否发布您正在工作的 mysql 查询的示例输出,只是为了看看您想要实现什么?跨度>
    • 没关系,我想通了。我刚刚使用了 find_by_sql() 函数,它起作用了
    • @C- 你能发表你的答案吗?
    • 一般来说,你应该学会不要使用“find_by_sql”...它可能容易受到sql注入的影响。而且我仍在试图弄清楚为什么在没有任何条件的情况下使用“子表”......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 2014-01-06
    • 1970-01-01
    • 2021-06-23
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    相关资源
    最近更新 更多