php - 组合/排序两个日期时间表/数组/列表

标签 php mysql database sorting

我有两个 MySQL 表,都带有时间戳(日期/时间)...我需要一个查询来将它们组合起来并按时间戳(2013-08-21 13:13:47)对它们进行排序。

Table 1
---------------------------------------
Timestamp |  Col 1  |  Col 2  | Col 3  


Table 2
---------------------------------------
Timestamp |  Col 1  |  Col 2  | Col 3  | Col 4

我要打印

PRINT OUT (in order by timestamp)
----------------
Timestamp  |  Col 1  |  Col 2  | Col 3  | Col 4
Timestamp  |  Col 1  |  Col 2  | Col 3
Timestamp  |  Col 1  |  Col 2  | Col 3
Timestamp  |  Col 1  |  Col 2  | Col 3  | Col 4
Timestamp  |  Col 1  |  Col 2  | Col 3
Timestamp  |  Col 1  |  Col 2  | Col 3  | Col 4
Timestamp  |  Col 1  |  Col 2  | Col 3 
Timestamp  |  Col 1  |  Col 2  | Col 3  | Col 4
Timestamp  |  Col 1  |  Col 2  | Col 3  | Col 4

最简单的方法是什么?我应该将两个表放入一个数组然后排序吗?或者我应该使用 sql 查询来执行此操作?

我正在使用 PHP 和 MySQL...

最佳答案

假设 Table1.Col1 与 Table2.Col1 具有相同类型的数据,Table1.Col2 与 Table2.Col2 具有相同类型的数据,依此类推,那么这可能是最简单的方法。联合中的表必须具有相同的列数。我用NULL代替Col4。您可能需要在 ORDER BY 子句中添加其他列。

select T1.Timestamp, T1.Col1, T1.Col2, T1.Col3, NULL as Col4
from Table1
union all
select T2.Timestamp, T2.Col1, T2.Col2, T2.Col3, T2.Col4
from Table2
order by Timestamp

仅当名称相似的列具有相同类型的数据时,才有意义。如果 Table1.Col1 包含姓名,而 Table2.Col1 包含电话号码,则这样做没有多大意义。

关于php - 组合/排序两个日期时间表/数组/列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18367817/

相关文章:

database - 可扩展的数据库技术和架构

php类调用外部类

mysql - 删除了所有MySQL数据库,包括mysql,如何恢复?

php - 使用 PHP 回显 div 标签内的内容

mysql - 如何从 python/kivy 应用程序存储数据

mysql - 连接列中有空格的表

database - 从 PostGres 数据库获取结构

Java - 读取字节数组中的文件

php - 按两个字段的计数之和排序

php - JSONP - 我可以从 PHP 提供数据吗?