Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL选择多行匹配的非不同值_Mysql_Sql - Fatal编程技术网

Mysql SQL选择多行匹配的非不同值

Mysql SQL选择多行匹配的非不同值,mysql,sql,Mysql,Sql,我有一个用于许多关系的连接表,看起来像这样: 图像标签: Image_ID |. Tag_ID 4 | 5 4. | 6 4 | 7 5 | 6 5 | 7 我想创建一个SQL查询来选择满足多个标记ID要求的图像ID。例如,我想查找所有同时具有标记ID 5和6的图像ID,返回图像4,但不返回图像5。我该怎么做呢?您可以使用group by并拥有:

我有一个用于许多关系的连接表,看起来像这样:

图像标签:

Image_ID    |.    Tag_ID
4           |     5
4.          |     6
4           |     7
5           |     6
5           |     7
我想创建一个SQL查询来选择满足多个标记ID要求的图像ID。例如,我想查找所有同时具有标记ID 5和6的图像ID,返回图像4,但不返回图像5。我该怎么做呢?

您可以使用group by并拥有:


你好这显然是重复的。而且没有显示出任何研究成果&作为一个明显的常见问题,它没有任何用处。请总是用谷歌搜索错误信息,对你的问题/问题/目标的许多清晰、简洁和具体的版本/措辞,有或没有你的特定字符串/名称,以及“site:stackoverflow.com”&标记并阅读许多答案。将发现的相关关键字添加到搜索中。如果你找不到答案,就发布,使用1个变体搜索作为标签的标题和关键字。请参见文本上方的向下投票箭头鼠标。当你有一个不重复的代码问题要发布时,请阅读并采取行动。你为什么用关系代数标记?
select image_id
from image_tags
where tag_id in (5, 6)
group by image_id
having count(*) = 2;  -- "2" is the number of tags in the IN list