选择3列中的不同值为1

时间:2014-10-16 11:54:05

标签: mysql database merge

我目前正在使用一个(MySQL)数据库,它有一个包含3个包含INT值的列的表。 每列可能具有NULL和重复值,如下所示:

enter image description here

我想知道在1个查询中是否可以从每个列中选择所有不同的值并将它们合并到1个结果列中;在这个例子中类似于:

col
-----
 1
 30
 40
 60

谢谢,

1 个答案:

答案 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子句,以便最好地利用您的索引