MYSQL合并两个日期字段然后排序BY

时间:2011-11-23 16:24:43

标签: php mysql database

我在MYSQL中有2个表,它们将由外键连接。每个表都有自己的日期字段。我想要做的是将这两个日期字段组合在一起,然后按组合信息排序。我知道您可以通过多个字段进行排序,但我认为不会将它们组合在一起。

示例

Join by tickets.ticket_id = ticket_history.ticket_id

表1

ticket_date

表2

ticket_history_date

目标合并两个日期字段,然后按合并日期

对行进行排序

2 个答案:

答案 0 :(得分:6)

假设你想要两个日期中的最新日期,你可以做这样的事情

SELECT
    [some info],
    GREATEST( ticket_date, ticket_history_date ) as latest_date
FROM
    [tables and join]
ORDER BY
    latest_date

如果您想要最早的日期,可以使用LEAST而不是GREATEST。如果其中一个日期可能为NULL,那么您可能需要查看COALESCE

答案 1 :(得分:1)

UNION查询允许您组合2个或更多“选择”查询的结果集。它删除了各种“select”语句之间的重复行。

UNION查询中的每个SQL语句必须在具有相似数据类型的结果集中具有相同数量的字段。

UNION查询的语法是:

选择field1,field2 ,. field_n 从表格 联盟 选择field1,field2 ,. field_n 来自表格;