MySQL SELECT 1 AS sort_col:是否有一列为1?

时间:2013-11-11 06:52:22

标签: mysql sql-order-by alias

来自Mysql Documentation

  

使UNION结果中的行包含行集   每个SELECT一个接一个地检索,选择一个   每个SELECT中的列用作排序列并添加ORDER BY   在最后一个SELECT之后:

(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   每一行都来自。额外的列可以提供其他标识   信息,例如表示表名的字符串。

我的问题:

为此,我是否需要在表格中创建另外两列?

1 个答案:

答案 0 :(得分:1)

没有。 mysql手册的sort_col是动态创建的,具有常量值(1和2)。

类似地,您可以选择任何您想要的值而无需任何表格:

SELECT 1, 2, 3 FROM dual;