【发布时间】:2009-09-09 03:16:19
【问题描述】:
我有一个简单的表格,例如:int id, date created_at, date updated_at。我想对行进行排序,以便任何具有updated_at 的行都将按此排序,而任何没有的行将按created_at 排序。问题是这样的:
SELECT * FROM table ORDER BY updated_at, created_at
不起作用。我一直在查看自定义订单条款,例如:
ORDER BY CASE WHERE updated_at ISNULL <do something> END, created_at
但似乎无法正常工作。 帮忙?
编辑:
我应该指定我希望updated_at 字段在created_at 字段之前排序。所以,如果数据看起来像:
id created_at updated_at
-- ---------- ----------
1 2009-01-08 null
2 2009-09-08 null
3 2009-07-02 null
4 2009-09-05 2009-09-06
5 2009-04-01 null
6 2009-09-07 2009-09-08
我想要这样的结果:
id created_at updated_at
-- ---------- ----------
6 2009-09-07 2009-09-08
4 2009-09-05 2009-09-06
2 2009-09-08 null
3 2009-07-02 null
5 2009-04-01 null
1 2009-01-08 null
【问题讨论】:
-
根据您的更新更新了我的答案。