我目前正在使用一个(MySQL)数据库,它有一个包含3个包含INT值的列的表。 每列可能具有NULL和重复值,如下所示:
我想知道在1个查询中是否可以从每个列中选择所有不同的值并将它们合并到1个结果列中;在这个例子中类似于:
col
-----
1
30
40
60
谢谢,
答案 0 :(得分:3)
您可以使用union
select * from (
select col1 as col from table
union
select col2 as col from table
union
select col3 as col from table
) t where col is not null
order by col
如果您已为列编制索引,那么您可以为每个3个查询使用单独的where子句,以便最好地利用您的索引