如何计算客户推荐人数?

时间:2018-04-18 04:33:55

标签: mysql

我的表格如下所示:

Cust_ID . Cust_name . Cust_referred_by
1          Allan           2
2          Blake           3
3          Jen             2
4          Zeke            1

在这种情况下,艾伦被布莱克推荐。我如何计算每个客户有多少推荐? 到目前为止,我有这个代码:

select cust_name, count(cust_referred_by)
from Customer

我相信我必须使用自联接表但不确定如何实现

4 个答案:

答案 0 :(得分:1)

您可以使用group byjoin来执行此操作

select a.cust_name, count(b.Cust_ID)
  from Customer a
  join Customer b on a.Cust_ID=b.Cust_referred_by
group by a.cust_name

答案 1 :(得分:1)

假设您要计算每个客户的cust_reffered_by,那么您可以使用以下查询:

select cust_name, count(cust_reffered_by)
from Customer
group by cust_name

我认为您想要做的是计算客户被转介的次数。您可以使用以下查询实现此目的:

select cust_name, count(cust_id)
from Customer
group by cust_name

如果没有关于表格语义的更多信息,很难确定你在寻找什么。

答案 2 :(得分:1)

You can use this query to get sum of one column values:

$result=mysql_query("SELECT SUM(Cust_referred_by) AS total FROM Customer");
$row = mysql_fetch_array($result);
$sum = $row['total'];
echo $sum;

答案 3 :(得分:0)

select
    t.Cust_ID,
    t.Cust_name,
    (select count(s.Cust_ID) from Customer as s where s.Cust_referred_by = t.Cust_ID) as Referred
from Customer as t

您应该使用子查询以获得更好的多功能性。 使用Group by是一个非常糟糕的设计,因为您不能同时按两列分组。