【问题标题】:Rails Query different order depend on a columnRails查询不同的顺序取决于列
【发布时间】:2017-04-04 05:07:35
【问题描述】:

我在 MySQL 中有这个查询。

SELECT * FROM dbo.Employee
ORDER BY 
CASE WHEN is_outsourcing = 'true' THEN Country END Desc,
CASE WHEN is_outsourcing = 'false' THEN joined_date END ASC

我尝试进行 rails 查询,以便首先订购所有 is_outsourcing 员工,并且他们的订单由他们的国家/地区决定。其余员工按加入日期排序。

目前,我首先通过 is_outsoucing 订购此查询:

User.all.order(is_outsourcing DESC)

但我不知道后面的部分该怎么做。有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: mysql ruby-on-rails activerecord


    【解决方案1】:

    您可以简单地将order by 逻辑作为字符串:

    User.all.
      order("CASE WHEN is_outsourcing = 'true' THEN Country END Desc,
             CASE WHEN is_outsourcing = 'false' THEN joined_date END ASC")
    

    【讨论】:

      猜你喜欢
      • 2017-04-23
      • 1970-01-01
      • 2016-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-22
      相关资源
      最近更新 更多