【问题标题】:MySQL - Sort multiple columns together; not first, then second, etcMySQL - 将多列排序在一起;不是第一个,然后是第二个,等等
【发布时间】:2015-10-09 19:55:06
【问题描述】:

我有一个包含 4 个不同日期列(date_created、date_saved、date_published、date_deleted)的表,我正在尝试执行“最近更新”查询,有效地考虑这 4 个日期中的任何一个并按最近的日期描述。通常你会这样做:

date_created DESC, date_saved DESC, date_published DESC, date_deleted DESC

但我不希望它比 date_deleted 更重视 date_created。所有日期字段都是“更新”,因此在排序中它们都应该被平等对待。

我宁愿不选择整个数据库中的所有结果,然后使用 PHP 来排序和限制资源,所以,有没有办法对所有这 4 个字段进行 DESC 排序,同时将它们都视为同等重要?

【问题讨论】:

标签: php mysql sorting


【解决方案1】:

简单地做:

ORDER BY GREATEST(date_created, date_saved, date_published, date_deleted)

【讨论】:

    猜你喜欢
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多