选择引用ID为同一个表的行

时间:2018-05-29 03:36:26

标签: mysql select

我有一个表呼叫用户,如下所示:

id  name  ref_id  
--  ----  ------  
1   Sam   0      
2   Jack  1       
3   Sue   2       
4   Sam2  1       
5   Sue2  3       
6   Sam3  1 
7   Alan  3       
8   Tom   3
9   Lyn   2
10  Van   1       

我想选择有3个人推荐的用户。 是否可以编写查询并选择:

Name
-- 
Sam
Sue

2 个答案:

答案 0 :(得分:1)

您可以使用下面的自我加入

SELECT a.`name`  FROM ref a LEFT JOIN ref b 
ON a.id = b.ref_id 
GROUP BY a.name 
HAVING COUNT(b.id) >2 

试试这个Demo

答案 1 :(得分:0)

您可以使用以下查询:

    select Count(u1.name) unit,u1.name from ref as u1 INNER JOIN ref as u2 ON u1.Id = u2.ref_id
    group By u1.id
    having unit > 3

你可以更换单位> 3至单位> 2