Mysql Rails时间戳:按更新/创建的复杂顺序
我有一个Mysql Rails时间戳:按更新/创建的复杂顺序,mysql,sql,ruby-on-rails,ruby,ruby-on-rails-3,Mysql,Sql,Ruby On Rails,Ruby,Ruby On Rails 3,我有一个不动产模型,用户可以在其中创建和更新他们的不动产 这里有一些数据。为了简单起见,我只是给你看表中的时间。日期在上面 Date: 2013-07-01 ID | created_at | updated_at ---------------------------- 1 | 13:00:00 | 14:00:00 2 | 15:00:00 | 15:00:00 3 | 16:00:00 | 17:00:00 Date: 2013-07-02 ID | created
不动产模型
,用户可以在其中创建和更新他们的不动产
这里有一些数据。为了简单起见,我只是给你看表中的时间。日期在上面
Date: 2013-07-01
ID | created_at | updated_at
----------------------------
1 | 13:00:00 | 14:00:00
2 | 15:00:00 | 15:00:00
3 | 16:00:00 | 17:00:00
Date: 2013-07-02
ID | created_at | updated_at
----------------------------
4 | 10:00:00 | 10:00:00
5 | 12:00:00 | 17:00:00
6 | 18:00:00 | 18:00:00
查看不动产时,我希望用户看到最新的不动产,首先是按日期描述排序的
。因此,7月2日创建的不动产(4,5,6
)应该出现在7月1日创建的不动产(1,2,3
)之前
现在是棘手的部分:
在每个特定的日子里,我想区分创建后更新的不动产(1,3,5
)和未更新的不动产(2,4,6
),同时按时间排序
作为结论
我想先按日期订购不动产。在该顺序中,我想先显示不按时间描述排序的更新的不动产,然后显示按时间描述排序的更新的不动产
结果将导致6,4,5,2,3,1
提前谢谢 我想你需要一个像这样的订单:
order by date(created_at) desc,
(case when created_at = updated_at then created_at end) desc,
updated_at desc
我不得不将日期(创建时间)
更改为日期(更新时间)
,然后它就像一个符咒一样工作:)谢谢你!