如何有条件地根据两列订购结果

时间:2016-08-30 08:42:22

标签: sql ruby-on-rails postgresql

我有两列:created_atupdated_at。我不想按日期订购查询结果,如果行中存在updated_at,则使用此列进行排序,否则使用created_at。这可以在一个查询中完成吗?

2 个答案:

答案 0 :(得分:1)

SELECT
created_at
,updated_at
,COALESCE(updated_at,created_at) AS MostRecentDate
FROM [Table]
ORDER BY MostRecentDate ASC

答案 1 :(得分:0)

您可以使用以下案例

ORDER BY CASE WHEN updated_at IS NOT NULL THEN updated_at ELSE created_at END