如何从多个列中检索不同的值?

时间:2010-09-03 10:54:36

标签: mysql distinct

我有两列数据。我想对它们运行select语句,这些语句在这些列中一次抓取所有不同的数据。例如。

*column 1*   *column 2*
dog          monkey
monkey       elephant
dog          monkey

我希望能够返回包含狗,猴子和大象的结果集,这就是全部。

4 个答案:

答案 0 :(得分:2)

您可以使用两个选择:

Select column1 As c From t
Union
Select column2 From t

Union将负责重复:

  

UNION的默认行为是从结果中删除重复的行。

答案 1 :(得分:1)

以下情况如何?

SELECT column1 unique_data FROM your_table
UNION
SELECT column2 unique_data FROM your_table;

测试用例:

CREATE TABLE your_table (column1 varchar(50), column2 varchar(50));

INSERT INTO your_table VALUES ('dog', 'monkey');
INSERT INTO your_table VALUES ('monkey', 'elephant');
INSERT INTO your_table VALUES ('dog', 'monkey');

结果:

+-------------+
| unique_data |
+-------------+
| dog         |
| monkey      |
| elephant    |
+-------------+
3 rows in set (0.00 sec)

答案 2 :(得分:0)

可能是愚蠢的:select distinct from (select distinct from first_column union select distinct from second) - 无效的sql,只是逻辑

答案 3 :(得分:0)

使用UNION,示例:

select 
    column_1 as name 
from Table_1
union
select 
    column_2 as name 
from Table_1

输出: 狗 象 猴

相关问题