获取相关标签的数量

leo*_*ora 1 sql-server tags

我最近问了这个问题来获取 Stack Overflow 中的相关标签: what is the query to get “related tags” like in stack overflow

我想像 Stack Overflow 一样显示计数,所以对于每个相关标签,在第一个标签的问题上这个其他标签的计数是多少?

因为这些查询都有不同的。我认为这是不可能的,但显然 Stack Overflow 必须这样做(除非他们在多个查询中这样做。)

有没有办法在同一个查询中获取相关标签的计数,还是必须在单独的查询中完成?

And*_*mar 5

您可以搜索相关标签的总数:

SELECT t2.tagname, count(distinct tb2.linkid) as RelatedLinkCount
FROM TAGS t2
JOIN TAGS_BRIDGE tb2 on t2.tagid = tb2.tagid
JOIN TAGS_BRIDGE tb1 on tb2.linkid = tb1.linkid
JOIN TAGS t ON t.id = tb1.tagid
WHERE t.tagname = 'tag3'
GROUP BY t2.tagname
Run Code Online (Sandbox Code Playgroud)

从标签名称 (t) 开始,它会查找该标签的链接 (tb1),然后查找共享链接的标签 (tb2)。它查找相关标签的名称 (t2) 并完成 :) 甚至不需要加入 LINKS 表。