1 个回答
可以的,示例如下:
在mysql中使用权重搜索涉及到2个 Mysql 函数。
1、LOCATE('标题', test.t1) : 查询 "标题" 在 test.t1 列出现的位置,0 表示未找到。否则返回 坐标位置,坐标位置从 1 开始。
2、IF( 表达式, 1, 0):判断表达式结果,TRUE 则返回 1,FALSE 则返回 0
SELECT *, (
IF(LOCATE('标题',test.t1), 7, 0)
+ IF(LOCATE('内容',test.t2) , 2, 0)
+ IF(LOCATE('注释',test.t3) , 1, 0)
) AS weight
FROM test
WHERE test.t1 regexp '标题'
or test.t2 regexp '内容'
or test.t3 regexp '注释'
order by weight desc
在mysql中使用权重搜索涉及到2个 Mysql 函数。
1、LOCATE('标题', test.t1) : 查询 "标题" 在 test.t1 列出现的位置,0 表示未找到。否则返回 坐标位置,坐标位置从 1 开始。
2、IF( 表达式, 1, 0):判断表达式结果,TRUE 则返回 1,FALSE 则返回 0
发布于:6个月前 (11-04) IP属地:
我来回答
您需要 登录 后回答此问题!