如何按created_date和updated_date一起对数据排序

时间:2018-10-29 01:30:52

标签: mysql

我的数据具有created_date,updated_date和Updated_date可以为null。 我正在尝试按created_date和updated_date对数据进行排序 如果数据已更新日期,它将使用updated_date 如果数据中没有更新日期,但创建日期>其他数据已更新日期,则排在第一位

这是我使用的结果 “按booksdisplay_updated DESC,booksdisplay_created DESC订购”

updated_date为null的数据出现在下面。 你能建议我吗?

1 个答案:

答案 0 :(得分:0)

您可以使用coalesce()

ORDER BY COALESECE(updated_date, created_date)

相对于ifnull(),我更喜欢该功能,因为合并是ANSI标准,但是您可以使用

ORDER BY IFNULL(updated_date, created_date)

这两种方法都测试updated_date是否为空,如果为created_date,则返回case expression,否则返回'updated_date'。以上两个都等同于此order by case when updated_date IS NOT NULL then updated_date else created_date end ,这是另一种选择:

Lists