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)
超级马里奥·路易吉(Super Mario Luigi):内幕故事应该早于超级马里奥和路易吉(Luigi)。我究竟做错了什么? 谢谢!     
已邀请:
您没有指定结果的排序方式。在这种情况下,返回的结果顺序是不确定的。在您的情况下,添加一个明确的
ORDER BY
(如果我理解正确的话)
select title from gamelist where match (title) against (\'super mario luigi\') 
 order by title DESC;
    
根据定义,SQL不保证排序。正如@Pekka所说,如果您希望以特定的方式对结果进行排序,则必须进行指定。 通常,符合SQL的数据库将从一个查询执行到另一个查询以相同的顺序返回数据,但这是因为引擎从运行到运行的运行方式相同,并且SQL规范显然不能保证。并且,如果您的表应用了新索引,或者被转储并重新加载,那么如果您的查询未使用ORDER BY子句,则数据很有可能以与上次不同的顺序返回。     

要回复问题请先登录注册