簡體   English   中英

mysql中的子句按相關性排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM