2011-04-13 67 views
0

查詢:MySQL查詢命令爲1?

select title from gamelist where match (title) against ('super mario luigi'); 

返回:

+-----------------------------------+ 
| title        | 
+-----------------------------------+ 
| Super Mario and Luigi    | 
| Super Mario Luigi: Inside Story | 
| New Super Mario Bros.    | 
| Mario and Luigi: Partners In Time | 
| Luigi: Mansion     | 
+-----------------------------------+ 
5 rows in set (0.00 sec) 

超級馬里奧路易吉:黑幕是從何超級馬里奧與路易之前。我究竟做錯了什麼?

謝謝!

回答

2

您沒有指定結果應如何排序。在這種情況下返回的結果順序是未定義的。添加一個明確的ORDER BY,你的情況(如果我的理解對不對)

select title from gamelist where match (title) against ('super mario luigi') 
order by title DESC; 
0

根據定義SQL無法保證順序。正如@Pekka所說,如果您希望以特定方式排列結果,則必須指定該結果。

一般來說,兼容SQL的數據庫將在從一個查詢執行另一個相同的順序返回數據,但那是因爲發動機運轉從運行同樣的方式運行,並明確不是由SQL規範保證 。如果您的表格有新的索引或者重新加載&,那麼如果您的查詢不使用ORDER BY子句,則數據可能會以不同於上次的順序返回。