2013-02-15 56 views
2

如果我选择一列,像GROUP BY的SELECT一列

SELECT columnname FROM table 

将结果总是以相同的顺序为

SELECT columnname FROM table GROUP BY columnname 

或者它依赖于数据库管理系统?

+1

他们可能会是相同的顺序,但它不能保证。如果订单很重要,则始终使用'ORDER BY'子句。 – 2013-02-15 16:20:41

回答

4

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

该查询,在另一方面,将返回相同的结果group by之一:

SELECT DISTINCT columnname FROM table 

结果的顺序可以是不同的。

1

它不一样,如果你gyu oyu会得到每个列名只有一个记录,其他你可以有多个。

SELECT columnname FROM table ORDER BY columnname; 

结果可能会进入重复的行或:

1

的顺序不被任何您发布的查询...... 要设置的顺序,你必须把ORDER BY子句,像这样的定义不......这取决于你的桌子上是否有重复的值。 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条件,所以订单将从高到低排列。