2013-02-15 55 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條件,所以訂單將從高到低排列。