来自 Mysql文档:
要使 UNION 结果中的行由每个 SELECT 一个接一个地检索到的行集组成,请在每个 SELECT 中选择一个附加列以用作排序列,并在最后一个 SELECT 之后添加一个 ORDER BY:
(SELECT 1 AS sort_col, col1a, col1b, ... FROM t1) UNION (SELECT 2, col2a, col2b, ... FROM t2) ORDER BY sort_col;
要另外维护单个 SELECT 结果中的排序顺序,请在 ORDER BY 子句中添加一个辅助列:
(SELECT 1 AS sort_col, col1a, col1b, ... FROM t1) UNION (SELECT 2, col2a, col2b, ... FROM t2) ORDER BY sort_col, col1a;
使用附加列还可以让您确定每行来自哪个 SELECT。额外的列也可以提供其他标识信息,例如表示表名的字符串。
我的问题:
为此,我是否需要在表中创建两个额外的列?