Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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_Select_Group By - Fatal编程技术网

Mysql SQL查询语句自联接?

Mysql SQL查询语句自联接?,mysql,sql,select,group-by,Mysql,Sql,Select,Group By,SQL新手 我有以下一组数据 A X Y Z 1 Wind 1 1 2 Wind 2 1 3 Hail 1 1 4 Flood 1 1 4 Rain 1 1 4 Fire 1 1 我想选择所有不同的“A”字段,其中包含A的所有行都有洪水和雨水 因此在本例中,查询将只返回数字4,因为对于包含A=4的所有行的集合,我们有Flood和Rain 我需要A的值,其中对于A中的给定值“A”,存在带

SQL新手

我有以下一组数据

A   X       Y   Z    
1   Wind    1   1
2   Wind    2   1
3   Hail    1   1
4   Flood   1   1
4   Rain    1   1
4   Fire    1   1
我想选择所有不同的“A”字段,其中包含A的所有行都有洪水和雨水

因此在本例中,查询将只返回数字4,因为对于包含A=4的所有行的集合,我们有Flood和Rain

我需要A的值,其中对于A中的给定值“A”,存在带有“A”的行,该行必须包含以下提供的所有字段(在示例Flood and Rain中)

如果您需要进一步的澄清,请告诉我

我需要A的值,其中对于A中的给定值“A”,存在带有“A”的行,该行必须包含以下提供的所有字段(在示例Flood and Rain中)

您可以使用聚合,并使用
having
子句进行筛选:

select a
from mytable t
where x in ('Flood', 'Rain') -- either one or the other
having count(*) = 2          -- both match
如果元组
(a,x)
元组不是唯一的,那么您希望
具有count(distinct x)=2

您应该使用count(distinct x)组,并具有

计数(不同…)避免出现X值两倍相同的情况

    select A
    from my_table  
    WHERE x in ('Flood', 'Rain')
    group  A
    having count(distinct X) = 2