0
"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"

我生成了这个查询来找到全文关键字搜索的最佳匹配结果。现在我想按查看次数最多的条目再次对这些结果进行排序。视图也存储在站点 (si.views) 中的 mysql 数据库中。

如何首先按最佳匹配分数对结果进行排序,然后按观看次数对这 25 个最佳结果进行排序?我认为这将通过 Grouping 以某种方式完成,但我不知道如何使其工作。帮助将不胜感激。谢谢,

4

1 回答 1

1
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
于 2013-10-02T11:23:06.197 回答