噜噜哒
这可能有助于某人正在寻找通过两列排序表的方法,但是以相似的方式。这意味着使用聚合排序功能组合两种排序。例如,在使用全文搜索检索文章以及文章发布日期时,它非常有用。这只是一个例子,但是如果你理解了这个想法,你可以找到很多要使用的聚合函数。您甚至可以对列进行加权,使其优先于一秒钟。我的功能从两种类型中都是极端的,因此最有价值的行位于顶部。对不起,如果存在更简单的解决方案来完成这项工作,但我还没有找到。SELECT `id`, `text`, `date` FROM ( SELECT k.`id`, k.`text`, k.`date`, k.`match_order_id`, @row := @row + 1 as `date_order_id` FROM ( SELECT t.`id`, t.`text`, t.`date`, @row := @row + 1 as `match_order_id` FROM ( SELECT `art_id` AS `id`, `text` AS `text`, `date` AS `date`, MATCH (`text`) AGAINST (:string) AS `match` FROM int_art_fulltext WHERE MATCH (`text`) AGAINST (:string IN BOOLEAN MODE) LIMIT 0,101 ) t, ( SELECT @row := 0 ) r ORDER BY `match` DESC ) k, ( SELECT @row := 0 ) l ORDER BY k.`date` DESC ) s ORDER BY (1/`match_order_id`+1/`date_order_id`) DESC