mysql:匹配并使用max查询

时间:2017-12-05 10:30:19

标签: mysql

我有以下查询

  

SELECT *,MATCH(title,text)AGAINST('我的家'在布尔模式下)为   相关性来自blog,其中active = 1

上述查询返回5行,相关性为2,2,0,0,0

现在我想只选择具有最大相关性的行。 所以它应该只返回有2作为相关性的行。

我尝试了以下查询。

  

SELECT *,MATCH(title,text)AGAINST('我的家'在布尔模式下)   作为相关性来自blog,其中active = 1   相关性=最大值(MATCH(标题,文本)AGAINST('我的家'在布尔值   模式))

但它只返回一行..

有没有办法只获得那两行?

1 个答案:

答案 0 :(得分:1)

SELECT *, MATCH(title,text) AGAINST('my home' in boolean mode) as relevance 
FROM blog 
where active = 1
and MATCH(title,text) AGAINST('my home' in boolean mode) = (select max(MATCH(title,text) AGAINST('my home' in boolean mode)) from blog)