0

我有一个Realty Model,用户可以在其中创建和更新他们的不动产。

这是一些数据。为简单起见,我只是向您显示表格中的时间。日期在顶部。

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

在查看不动产时,我希望用户首先看到最新的不动产ordered by date DESC。因此,7 月 2 日创建的不动产 ( 4,5,6) 应该出现在 7 月 1 日创建的不动产 ( ) 之前1,2,3

现在是棘手的部分:

在每个特定的日子里,我想区分在创建后已更新的不动产( 1,3,5) 和在按时间排序时仅在没有更新的情况下创建的不动产( )。2,4,6

作为结论

我想先拥有不动产ordered by date DESC。在这个顺序中,我想先显示没有更新 的不动产,然后是有更新的不动产ordered by time DESC ordered by time DESC

结果会导致6,4,5,2,3,1

提前致谢!

4

1 回答 1

1

我想你想要order by这样的:

order by date(created_at) desc,
         (case when created_at = updated_at then created_at end) desc,
         updated_at desc
于 2013-07-02T14:33:23.757 回答