MySQL排序多个时间戳

时间:2014-08-07 06:35:12

标签: php mysql sql

我的数据库中有2个表。它们是管理员操作表和用户操作。 并具有如下表格结构::

管理员行动表

Action_id |  order    |   Action_type    |           timestamp          |   
   1          12            pending           2014-07-24 15:30:45
   2          12            packing           2014-08-24 14:12:11 
   3          12            shipping          2013-05-01 15:55:12
   4          12            packing           2011-11-25 21:10:22

用户操作表

Action_id |  order    |   Action_type    |           timestamp          |   
   1          12            transfer           2014-07-22 15:30:45
   2          12            transfer           2014-09-23 14:12:11 
   3          12            transfer           2013-05-07 15:55:12
   4          12            transfer           2011-11-28 21:10:22

我想对两个表的时间戳进行排序。之前或之后会发生什么? 最后。结果如下:

活动表

Action_id     |   Action_type      |                 timestamp           |
    4               packing                    2011-11-25  21:10:22      //admin action 
    4               transfer                   2011-11-28  21:10:22      //user aciton
    3               shipping                   2013-05-01  15:55:12      //admin action
    3               transfer                   2013-05-07  15:55:12      //user aciton 
    1               transfer                   2014-07-22  15:30:45      //user aciton
    1               pending                    2014-07-24  15:30:40      //admin action
                       .....

什么是MySQL命令来解决这个问题?

我知道我可以用PHP编写算法来排序时间戳。但我认为如果从数据库好的查询。它有助于在下一步中轻松处理。

1 个答案:

答案 0 :(得分:3)

这个未经测试的查询应该会给你预期的结果:

select * from (
Select * from `Admin Action`
union all
Select * from `User Action`) as a
order by timestamp