[英]where in clause mysql sort by relevance
我有名為news和tags_news的表。 給定新聞ID,我必須根據標簽輸出相關文章。 所以我有一個像google,facebook這樣的標簽列表,我正在使用以下查詢
select
t2.title,
t2.content,
t2.id
from
tags_news as t1
left join news as t2 on t2.id=t1.news
where t1.tag in ('facebook','google');
一切正常,但按ID順序返回文章。 我想擁有與指定標簽具有更多匹配項的文章。
我希望我理解你的問題對。
請嘗試以下操作:
select
t2.title,
t2.content,
t2.id,
count(*) as numberOfTagsRelatedToTheNews
from
tags_news as t1
left join news as t2 on t2.id=t1.news
where t1.tag in ('facebook','google')
group by t2.title
order by numberOfTagsRelatedToTheNews desc
這是您要找的東西嗎? 詢問是否對此答案有任何疑問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.