GROUP BY for SELECT一列

时间:2013-02-15 16:17:10

标签: sql select group-by database

如果我选择一列,例如

SELECT columnname FROM table

结果总是与

的顺序相同
SELECT columnname FROM table GROUP BY columnname

还是依赖于DB管理系统?

3 个答案:

答案 0 :(得分:4)

不,它是相同的,因为第一个查询可能会返回重复项,而第二个查询则不会。

另一方面,此查询将返回与group by一个相同的结果:

SELECT DISTINCT columnname FROM table

结果的顺序可能不同。

答案 1 :(得分:1)

它不一样,如果你的grup oyu每个列名只能获得一个记录,另一个你可以拥有多个记录。

答案 2 :(得分:1)

您发布的任何查询都未定义订单... 要设置顺序,必须放置ORDER BY子句,如下所示:

    SELECT columnname FROM table ORDER BY columnname;

结果可能会出现重复的行或者不是......这取决于您的表上是否有重复的值。 GROUP BY子句只会选择每种类型中的一种,可以按照以下方式设置:

    SELECT columnname FROM table GROUP BY columnname ORDER BY columnname;

或者,正如Dasblink先前所说,使用DISTINCT子句......

    SELECT DISTINCT columnname FROM table ORDER BY columnname;

请注意,您只能使用ORDER BY和argumment或者设置ASC或DESC条件,因此订单将从较高值到较低值。