首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >所选表项中最常见的标签?

所选表项中最常见的标签?
EN

Stack Overflow用户
提问于 2011-06-20 17:26:12
回答 2查看 113关注 0票数 0

我有一张与下面类似的桌子

试题表

代码语言:javascript
复制
Qid  Tags
---  ---------
1    SQL
1    DATABASE
1    ALGORITHM
2    ALGORITHM
2    TAGS
3    SQL
3    SYNTAX
3    DATABASE

以下是

代码语言:javascript
复制
SELECT * FROM Question table WHERE TAGS='SQL'

将展出:

代码语言:javascript
复制
Qid  Tags
---  ----
1    SQL
2    SQL
3    SQL

我正在寻找一个查询,它将显示基于类似标签的最高相关问题。

所以如果我查一下试题表- Qid=1。结果是Qid 3,因为Qid 1和Qid 3有两个相似的项,但Qid 2只作为Qid 1的类似标记。如果我查找Qid 2,它将返回Qid 1,因为它们共享1标记,Qid 2和3没有标签。如果我查找Qid 3,它会返回Qid 1,因为Qid 1有Qid 3的2个标签,但是Qid 2没有Qid 3的标签。

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2011-06-20 17:51:34

有可能是这样的吗?

代码语言:javascript
复制
SELECT Qid, COUNT(*) AS TagsInCommon FROM Questions
WHERE Tags IN (
  SELECT DISTINCT Tags FROM Questions WHERE Qid=1
)
GROUP BY Qid
ORDER BY TagsInCommon DESC

我不确定字段名,但你知道.

票数 0
EN

Stack Overflow用户

发布于 2011-06-20 18:11:19

代码语言:javascript
复制
declare @Qid int
set @Qid = 1

select top 1 Q2.Qid, COUNT(*) from Questions Q1
inner join Questions Q2 on Q1.Tags = Q2.Tags
where Q1.Qid = @Qid and Q2.Qid <> @Qid
group by Q2.Qid
order by COUNT(*) desc
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6415055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档