MySQL从2列中选择不同的值

时间:2013-05-08 08:56:11

标签: mysql

我有一张桌子,里面有链接。所以在其他方面,有2列包含URL;来源和目的地。 我需要获取表中存在的所有唯一URL的列表(以创建查找表),但是当然,URL可以在两列中。在2列上使用distinct似乎返回唯一的组合,而不是单个值。我可以在1个查询中执行此操作,还是应该使用2(每列一个),然后对该结果进行3d不同的选择?

2 个答案:

答案 0 :(得分:5)

您可以使用UNION,这将删除重复项(而UNION ALL将保留重复项)

SELECT FirstUrlColumn AS url
FROM myTable
UNION
SELECT secondUrlColumn AS url
FROM myTable

答案 1 :(得分:2)

尝试以下方法:

SELECT DISTINCT url
FROM (
    SELECT col1 AS url
    FROM TABLE
    UNION
    SELECT col2 AS url
    FROM TABLE
) urls