在mysql标记系统中显示最佳匹配
我正在实现一个系统,该系统根据用户插入的标记返回可用文章的列表,以便用户发现符合(或松散地符合)其标准的项目。返回的项目将根据用户感兴趣的可能性进行排序。前端收集标记并在mySQL查询中使用它们(我在这里询问hel) my DB具有以下结构:在mysql标记系统中显示最佳匹配,mysql,function,tags,Mysql,Function,Tags,我正在实现一个系统,该系统根据用户插入的标记返回可用文章的列表,以便用户发现符合(或松散地符合)其标准的项目。返回的项目将根据用户感兴趣的可能性进行排序。前端收集标记并在mySQL查询中使用它们(我在这里询问hel) my DB具有以下结构: 标记(标记id、标记名称) 文章(文章id,部分文字) 物品标签(物品id、标签名称) 例如: 用户输入标签:“硬”、“甜”、“红”。mySQL将按以下顺序返回这些项目: 红色糖果(标签为硬的,红色,甜的)-3/3标签匹配 红色锤子(标记为坚硬,红色,
- 标记(标记id、标记名称)
- 文章(文章id,部分文字)
- 物品标签(物品id、标签名称)
select
distinct some_text
from
articles join article_tags on (articles.article_id = articles_tags.article_id )
join tags on (articles_tags.tag_id = tags.tag_id)
where
tag_name in ("hard", "sweet", "red")
order by count(tag_id) DESC;
gbejic的答案是完美的。 我开始编写计算分数的函数,但这是非常直观和直接的。 谢谢 交流电