【发布时间】:2009-08-13 12:28:53
【问题描述】:
This question 解释了一种获得多列不同组合的方法。但是我想知道用于此目的的 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。那样的话会发生什么?
【问题讨论】:
标签: sql group-by union distinct