我有一个sql数据库表,它有四列不同的时间。我希望能够对它们进行排序,以便在保留i d和元数据的同时,将a、b、c和d时间戳合并到一列中。

id | a_time | b_time | c_time | d_time | metadata1 | metadata2
1  | 8      | 7      | 2      | 4      | a         | b
2  | 6      | 1      | 12     | 10     | c         | d
3  | 5      | 9      | 3      | 11     | e         | f

在上面的例子中,我想要一些结果:
mysql - SQL是否可以在保留元数据的同时将多个时间列分类为一个?-LMLPHP

最佳答案

您可以在不同时间的几个查询之间union

(SELECT id, a_time AS time, metadata1, metadata2
 FROM   mytable)
UNION
(SELECT id, b_time AS time, metadata1, metadata2
 FROM   mytable)
UNION
(SELECT id, c_time AS time, metadata1, metadata2
 FROM   mytable)
UNION
(SELECT id, d_time AS time, metadata1, metadata2
 FROM   mytable)
ORDER BY time

关于mysql - SQL是否可以在保留元数据的同时将多个时间列分类为一个?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52982325/

10-09 06:32