您好,匿名用户
随意问技术百科期待您的加入

根据标签查找相关书籍的mysql语句

0 投票

有两个表
1.书籍表
book_id
2.标签表
tag_id
3.书籍,标签关系表
book_id,tag_id

可以很简单地实现相关书籍的查找,但是根据“有相同标签就是相关书籍”的话忽略了相关度。比如三个标签相同的书籍比一个标签相同的书籍明显相关度更高。

想请教,如何实现按照相关度高低排序?有没有相关算法?

用户头像 提问 2012年 12月1日 @ Morgana 上等兵 (251 威望)
分享到:

1个回答

0 投票
SELECT *, 
CASE
    WHEN tag_id IN (tags1) THEN 1
    WHEN tag_id IN (tags2) THEN 2
    WHEN tag_id IN (tags3) THEN 3
END as r
FROM relations
WHERE tag_id IN (tags3)
ORDER BY r;
用户头像 回复 2012年 12月1日 @ Saber 中士 (1,234 威望)
提一个问题:

相关问题

+1 投票
1 回复 122 阅读
用户头像 提问 2012年 12月1日 @ Taurus 上等兵 (303 威望)
0 投票
1 回复 125 阅读
0 投票
1 回复 22 阅读
0 投票
1 回复 42 阅读
用户头像 提问 2012年 12月1日 @ Leo 上等兵 (255 威望)
0 投票
1 回复 45 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...