Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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 表的简单查询_Mysql_Sql_Join_Unique_Where - Fatal编程技术网

Mysql 表的简单查询

Mysql 表的简单查询,mysql,sql,join,unique,where,Mysql,Sql,Join,Unique,Where,我有一个名为“住户”的表格,其中包含了居住在不同公寓楼的住户的信息。这就是从该表中选择所有值的方式- SELECT * FROM RESIDENTS; aptid | aptnum | ssn ---------+-----------------+---------------- 100 | 1 | 641072301 100 | 2 | 699

我有一个名为“住户”的表格,其中包含了居住在不同公寓楼的住户的信息。这就是从该表中选择所有值的方式-

SELECT * FROM RESIDENTS;

 aptid   | aptnum          | ssn             
---------+-----------------+----------------
     100 |               1 |      641072301 
     100 |               2 |      699021306
     100 |               3 |      699021306     
     100 |               1 |      699021306       
     200 |               1 |      132429609 
     200 |               1 |      641072301
     300 |               1 |      641072301  
我想选择所有在不同综合楼租出三套以上公寓的居民的社会保险号码。例如,ssn为“641072301”的住户将出现在查询中,因为此人在综合体ID为100、200、300中租出至少三个单元,而社会身份为“699021306”的住户将不会出现,因为即使他们租出三个不同的公寓,他们都在同一单元内(aptID)。因此,本案的结果是—

 ssn             
---------+
641072301 

(1 row)
这是我所拥有的,但这不是给我想要的-

SELECT r1.ssn 
  FROM Residents r1
     , Residents r2
 WHERE r1.aptID <> r2.apt.ID;
选择r1.ssn
来自居民r1
,居民r2
其中r1.apid r2.apt.ID;
试试这个:

SELECT ssn 
FROM Residents
GROUP BY ssn 
HAVING COUNT(DISTINCT aptid) >= 3

请看@草莓,我确实认为SO提供了足够多的信息来提供帮助,你不这样认为吗?@Stephen如果我这样认为,我真的不会发表评论。@草莓,那么也许可以在这篇文章上添加可以改进的内容?样本数据检查!,所需输出检查!,尝试检查@尽管如此,这篇文章还是不值得投反对票。要求很明确。。。但我会让你去做的。上帝啊,这太完美了!你能帮我解决一个类似的问题吗-