Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Rails时间戳:按更新/创建的复杂顺序_Mysql_Sql_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

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
我不得不将
日期(创建时间)
更改为
日期(更新时间)
,然后它就像一个符咒一样工作:)谢谢你!