MySQL按分组日期范围排序

时间:2017-01-12 19:41:43

标签: mysql ruby-on-rails

我有一个包含以下四个范围的模型:

scope :active, -> { where("start_at <= '#{Time.now.utc}' AND end_at > '#{Time.now.utc}'") }
scope :ended, -> { where("end_at < '#{Time.now.utc}'") }
scope :coming_soon, -> { where("start_at > '#{Time.now.utc}' AND start_at < '#{Time.now.utc+6.hours}'") }

我希望能够做类似的事情(伪代码,只是试图提出一个想法):

Model.all.order(active, coming_soon, ended)

结果将是该表中的所有行,首先按满足active约束的行排序,然后按满足coming_soon约束的行排序,最后满足ended的所有行。约束。

1 个答案:

答案 0 :(得分:1)

我添加了以下范围,似乎解决了我的问题:

<?php ?>