gpt4 book ai didi

MYSQL查询只在集合中

转载 作者:可可西里 更新时间:2023-11-01 07:35:53 25 4
gpt4 key购买 nike

我有一个表,该表将带有关联标签的条目与其中的以下数据链接起来:

entry_id |  tag_id
1 | 1
2 | 1
3 | 1
1 | 2
2 | 2

我正在尝试编写一个只返回标记为 1 和 2 的条目的查询,在此示例中将返回条目 1 和 2,而 3 则不会,因为它没有两个标签。我正在使用的当前查询有效,但我知道不正确:

SELECT entry_id, GROUP_CONCAT(DISTINCT tag_id ORDER BY tag_id)
FROM tags
GROUP BY entry_id
HAVING GROUP_CONCAT(DISTINCT tag_id ORDER BY tag_id) LIKE "%1,2%";

最佳答案

如果 (entry_id, tag_id) 是唯一的:

SELECT entry_id
FROM yourtable
WHERE tag_id IN (1, 2)
GROUP BY entry_id
HAVING COUNT(*) = 2

另一种不需要唯一性且速度更快的替代方法:

SELECT T1.entry_id
FROM yourtable T1
JOIN yourtable T2
ON T1.entry_id = T2.entry_id
AND T1.tag_id = 1
WHERE T2.tag_id = 2

关于MYSQL查询只在集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7602485/

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