我的数据库中有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编写算法来排序时间戳。但我认为如果从数据库好的查询。它有助于在下一步中轻松处理。
答案 0 :(得分:3)
这个未经测试的查询应该会给你预期的结果:
select * from (
Select * from `Admin Action`
union all
Select * from `User Action`) as a
order by timestamp