【发布时间】:2015-10-16 08:45:29
【问题描述】:
我有一个由三个 select 子句组成的查询,如下所示:
select id, colors from table1
union all
select id, numbers from table2
union all
select id, names from table3
这里也是表格结构:
// table1 // table2 //table3
+----+--------+ +----+---------+ +----+-------+
| id | colors | | id | numbers | | id | names |
+----+--------+ +----+---------+ +----+-------+
| 1 | red | | 1 | ten | | 1 | jack |
| 2 | green | | 2 | two | | 2 | peter |
| 3 | blue | | 3 | one | +----+-------+
| 4 | yellow | | 4 | three |
+----+--------+ | 5 | six |
| 6 | five |
+----+---------+
现在我想要结果的这个顺序:
+----+--------+
| id | colors |
+----+--------+
| 1 | red |
| 2 | ten |
| 3 | jack |
| 4 | green |
| 5 | two |
| 6 | peter |
| 7 | blue |
| 8 | one |
| 9 | yellow |
| 10 | three |
| 11 | six |
| 12 | five |
+----+--------+
我该如何实现呢? (应该注意,order by 1,2,3 对我不起作用)
【问题讨论】:
-
您有 3 个表,并且您正在为每个表选择 3 列,并让它们显示在一列上,您实际上需要为每个表设置 3 个并集。您能否提供一些示例数据以及表格?此外,当您选择无顺序时,它不能保证它们将以哪种顺序显示,就像您在第一个查询结果中一样
red, green, blue, yellow -
@AbhikChakraborty 我的问题已更新。
标签: mysql sql-order-by union-all