【发布时间】:2012-03-08 13:15:09
【问题描述】:
我有一个主要在全文索引字段上操作的查询。
查询如下:
SELECT
MATCH (g.GameTitle) AGAINST ('quake ii') as Score,
g.*, p.id AS platformid,
p.alias AS PlatformAlias,
p. name,
p.icon
FROM
games as g,
platforms as p
WHERE
MATCH (g.GameTitle) AGAINST ('quake ii')
AND g.Platform = p.id;
我希望 mysql 将所有最接近搜索字符串“quake ii”的结果返回到顶部,但事实并非如此......事实上,数据库中有两个条目的游戏标题为“quake ii",即使它们具有相同的分数,它们也会在分数排序的两端分开。
这可以在此处的结果中看到:
Score id GameTitle
----- -- ---------
5.883631706237793 393 Quake II
5.883631706237793 777 Quake
5.883631706237793 778 Quake 4
5.883631706237793 2922 Quake
5.883631706237793 2924 Quake II
5.817491054534912 427 Quake III Arena
5.817491054534912 2925 Quake III Arena
5.689572811126709 85 Enemy Territory: Quake Wars
我怎样才能让两个“quake ii”条目的预期结果出现在结果的顶部??
【问题讨论】:
标签: mysql sql-order-by