这个问题解释了一种获得多列不同组合的方法。但我想知道用于此目的的 DISTINCT、UNION、GROUP BY 关键字方法的方法之间的区别。使用它们时我得到不同的结果。我的查询就像这个查询 1。
select
column1,
column2,
column3
from table
group by 1,2,3
查询 2。
select distinct
column1,
column2,
column3
from table
查询 3。
SELECT DISTINCT(ans) FROM (
SELECT column1 AS ans FROM sametable
UNION
SELECT column2 AS ans FROM sametable
UNION
SELECT column3 AS ans FROM sametable
) AS Temp
对于上述查询,我得到了不同的行数(编辑:前两个给出的行数相同,但最后一个给出的行数不同)。任何机构都可以解释上述查询在做什么吗?尤其是第三个?
编辑:请注意,我在同一张桌子上做 UNION。在那种情况下会发生什么?