列a
、b
和c
包含相同类型的一些值。我需要选择所有独特的值。如果只有一列,我将使用类似以下的语句:
SELECT DISTINCT a
FROM mytable
ORDER BY a
;
但是我需要把a
、b
和c
列视为一个整体,并获取它们之间出现的所有唯一值。
以CSV表格形式表示的mytable
如下所示,第一行命名了列:
a, b, c
1, 2, 3
1, 3, 4
5, 7, 1
查询的结果应该是:
1
2
3
4
5
7
更新:我不明白为什么你们都建议在外面再套一个SELECT
?在我看来,答案是
(SELECT `a` AS `result` FROM `mytable`)
UNION (SELECT `b` FROM `mytable`)
UNION (SELECT `c` FROM `mytable`)
ORDER BY `result`;
不是吗?