【发布时间】:2013-02-23 04:03:17
【问题描述】:
在搜索我的数据库时,我希望将真正相关的结果(由我的布尔搜索返回的结果)排名,但同时我不希望完全省略一些不太相关(喜欢)的结果。
目前我的查询看起来像这样。
(SELECT *, MATCH (col1,col2,col3,col4) AGAINST (query* in boolean mode) AS score
FROM table where match(col1,col2,col3,col4) against (query* in boolean mode)
order by score DESC)
UNION (SELECT * from table where col1 like query
or col2 like query or col2 like query or col4 like query)
这将返回一个错误,指出给定的两个 select 子句具有不同的列数。我知道这是因为在查询的第一部分中将“分数”作为列添加。
这个问题有解决办法吗?
【问题讨论】: