Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySql根据相关性和另一列顺序进行匹配_Mysql_Sql_Match Against - Fatal编程技术网

MySql根据相关性和另一列顺序进行匹配

MySql根据相关性和另一列顺序进行匹配,mysql,sql,match-against,Mysql,Sql,Match Against,我想按相关性排序一个匹配搜索,然后按列出时间列排序。相关性搜索非常有效,但当我添加listing_time列时,搜索结果看起来像是随机的 这是我的sql: SELECT title, listing_time, match(description) against('+clip' in boolean mode) as rel FROM product order by rel desc 这将在0.2秒内产生86个结果,所有结果都具有相关性1。太好了 但是当我尝试用额外的cloumn进行相同的

我想按相关性排序一个
匹配
搜索,然后按
列出时间
列排序。相关性搜索非常有效,但当我添加listing_time列时,搜索结果看起来像是随机的

这是我的
sql

SELECT title, listing_time, match(description) against('+clip' in boolean mode) as rel
FROM product order by rel desc
这将在0.2秒内产生86个结果,所有结果都具有相关性1。太好了

但是当我尝试用额外的cloumn进行相同的搜索时

FROM product order by rel, listing_time desc
我在27秒内得到1000个结果,它们的相关性无处不在。糟透了


那么我如何正确地做到这一点呢?我想要相关的结果,并且我想要它们按列表时间排序。

我猜您希望
按顺序排序是:

order by rel desc, listing_time desc
-------------^
asc
desc
适用于每个键


您的问题中没有任何内容表明这两个结果集是不同的,因此我猜测查询不完全相同(例如,由于
join
where
子句).

它也可以是
TOP X
仅获取前X行
LIMIT X
只需更改顺序即可得到不同的结果。@Hogan。MySQL不支持这两种构造。MySQL中使用的版本是
limit
,位于
orderby
子句之后。建议不会改变结果。除了将rel desc更改为rel desc之外,它是相同的查询,列出了\u time desc。