我最近问了这个问题来获取 Stack Overflow 中的相关标签: what is the query to get “related tags” like in stack overflow
我想像 Stack Overflow 一样显示计数,所以对于每个相关标签,在第一个标签的问题上这个其他标签的计数是多少?
因为这些查询都有不同的。我认为这是不可能的,但显然 Stack Overflow 必须这样做(除非他们在多个查询中这样做。)
有没有办法在同一个查询中获取相关标签的计数,还是必须在单独的查询中完成?
您可以搜索相关标签的总数:
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 表。
| 归档时间: |
|
| 查看次数: |
488 次 |
| 最近记录: |