MySQL: SELECT DISTINCT on two columns into one alias column

MySQL: SELCT DISTINCT on two columns into one alias column

让我们承认我有这个 table

+---------+---------+
| columnA | columnB |
+---------+---------+
|       1 |       2 |
|    NULL |       3 |
|       5 |       4 |
|       1 |       5 |
|       1 |       6 |
|       2 |    NULL |
|       2 |       3 |
|       6 |       4 |
|       2 |       5 |
+---------+---------+

我想做这样的事情(将两列的不同值 select 变成别名列):

SELECT DISTINCT (columnA, columnB) AS columnC

得到这个输出

+---------+
| columnC |
+---------+
|       1 |
|       2 |
|       3 |
|       4 |
|       5 |
|       6 |
+---------+

您可以 union 查询两列,这(隐含地)returns 来自两列的不同值:

SELECT columnA AS columnC FROM mytable WHERE columnA IS NOT NULL 
UNION
SELECT columnB AS columnC FROM mytable WHERE columnB IS NOT NULL 
ORDER BY columnC;