选择引用id为的行到同一个表

lzfw57am  于 2021-06-23  发布在  Mysql
关注(0)|答案(2)|浏览(348)

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

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
w3nuxt5m

w3nuxt5m1#

您可以使用以下查询:

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

hk8txs48

hk8txs482#

您可以像下面这样使用self-join

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

试试这个演示

相关问题