如何解决来自mysql的不同结果匹配左连接表上的全文本搜索
我有这个SQL查询:
SELECT `users`.*,`tags`.`usersID`,(MATCH (`users`.`role`,`users`.`skill`,`users`.`notes`)
AGAINST ('value' IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION) +
MATCH (`tags`.`tag`)
AGAINST ('value' IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION))
AS score
FROM `users`
LEFT JOIN `tags` on `users`.`id` = `tags`.`usersID`
WHERE
MATCH (`users`.`role`,`users`.`notes`)
AGAINST ('value' IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION)
OR MATCH (`tags`.`tag`)
AGAINST ('value' IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION)
ORDER BY score DESC
查询的效果非常好,但是我需要选择唯一的行,没有重复的行。 我目前正在解决过滤后端数组的问题,但是我想知道是否存在一种直接从数据库获取数组的方法。
USERS EXAMPLE
Id: 1
Name: John
Surname: Smith
Role: player
Skill: tester
Notes: can be a writer sometimes
Id: 2
Name: Rudy
Surname: Burr
Role: alchemist
Skill: dj
Notes: he's into skateboarding
...
TAGS EXAMPLE
Id: 1
usersID: 1
tag: potato juice
Id: 2
usersID: 1
tag: tomato juice
Id: 3
usersID: 1
tag: pepper
Id: 4
usersID: 2
tag: gas
...
因此,如果我寻找juice
,我想让约翰一次,而不是两次。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。