本文介绍了SQL计数和通过...分组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这张桌子

---ID----NAME----INVITED_BY---
   1      A
   2      B          1
   3      C          1
   4      D          2

我只想得到结果:

---ID----NAME------INVITES---------
   1      A          2 (COUNT OF INVITED_BY)
   2      B          1
   3      C          0
   4      D          0

推荐答案

您可以进行自我加入以计算邀请人数:

You could do a self join to count the number of persons invited:

select  yt.id
,       yt.name
,       count(distinct inv_by.id) as invites
from    YourTable yt
left join
        YourTable inv_by
on      yt.id = inv_by.invited_by
group by
        yt.id
,       yt.name

这篇关于SQL计数和通过...分组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-06 05:02