"SELECT *,
MATCH(md.keywords) AGAINST('$meta[keywords]') AS score
FROM
meta_data AS md
INNER JOIN
sites AS si ON md.domain = si.domain
WHERE
MATCH(md.keywords) AGAINST('$meta[keywords]')
ORDER BY score DESC
LIMIT 25"
我生成此查询是为了通过全文关键字搜索查找最佳匹配结果。现在我想按照浏览次数最多的条目再次对这些结果进行排序。 View 也存储在站点 (si.views) 的 mysql 数据库内。
如何首先按最佳匹配分数对结果进行排序,然后按观看次数对这 25 个最佳结果进行排序?我认为这可以通过分组来完成,但我不知道如何让它发挥作用。如有帮助,将不胜感激。谢谢,
最佳答案
select * from
(
SELECT *,
MATCH(md.keywords) AGAINST('$meta[keywords]') AS score
FROM
meta_data AS md
INNER JOIN
sites AS si ON md.domain = si.domain
WHERE
MATCH(md.keywords) AGAINST('$meta[keywords]')
ORDER BY score DESC
LIMIT 25
) x
order by x.views
关于php - mysql全文搜索对最佳结果进行排序,然后按其他项目再次排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19135747/