首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySql匹配order by relevance和另一列

MySql匹配order by relevance和另一列
EN

Stack Overflow用户
提问于 2016-03-21 00:50:24
回答 1查看 1.3K关注 0票数 1

我想先按相关度排序match against搜索,然后再按listing_time列排序。相关性搜索效果很好,但是当我添加listing_time列时,搜索结果看起来像是随机的。

这是我的sql

代码语言:javascript
复制
SELECT title, listing_time, match(description) against('+clip' in boolean mode) as rel
FROM product order by rel desc

这将在0.2秒内产生86个结果,并且所有结果都具有relevance 1。太棒了。

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

代码语言:javascript
复制
FROM product order by rel, listing_time desc

我在27秒内得到了1000个结果,它们的相关性无处不在。太可怕了。

那么我该如何正确地做到这一点呢?我想要相关的结果,我想让他们按listing_time排序。

EN

回答 1

Stack Overflow用户

发布于 2016-03-21 00:52:43

我猜你打算让order by成为:

代码语言:javascript
复制
order by rel desc, listing_time desc
-------------^

ascdesc应用于每个密钥。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36116597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档