gpt4 book ai didi

mysql - 计算mysql中的匹配项

转载 作者:太空宇宙 更新时间:2023-11-03 12:26:26 25 4
gpt4 key购买 nike

我需要进行查询以匹配表 tags_blogs 中具有匹配 tag_id 的博客。还有另一个表包含我现阶段不关心的实际标签。

我如何获取此表的内容:

reference_id    tag_id  blog_id
1 1 1
2 2 1
3 10 6
4 11 6
5 10 7
6 11 7
7 11 8

并在(例如)blog_id = 6 处返回此内容:

blog_id  total_matches
7 2
8 1

换句话说,将任何具有匹配 tag_id 的博客 ID 返回到所提供的参数,以及获得匹配的计数。

这是我目前拥有的代码(到目前为止我还差得远):

SELECT blog_id FROM tags_blogs WHERE blog_id = 6

最佳答案

您需要一个子查询来选择所有 6 个(或任何博客 ID)标签,如果一个博客在该子查询中有一个标签 ID,它就会被选中,然后将相同的 blog_ids 组合在一起并计算它们。

SELECT 
a.blog_id,
count(*) as total_matches
FROM
tags_blogs as a
WHERE
a.tag_id IN
( SELECT tag_id FROM tags_blogs WHERE b.blog_id=6 ) AND
a.blog_id!=6
GROUP BY a.blog_id

将返回类似的结果

blog_id   total_matches
7 2
8 2

关于mysql - 计算mysql中的匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17410817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com