0

我有一个带有客户(健身俱乐部)的 SQL Server (2000) 数据库。

客户每年加入。我希望能够计算续订会员的客户百分比(随着时间的推移和过去一年)。活动状态字段指示他们是否仍然是成员。
JoinDate 不会改变。当会员续订时,有一个 ActiveDate 和一个 DueDate(当客户到期续订时),DueDate 比激活日期提前 1 年。我要做的是尝试了解续订客户的百分比,如果可能或总体上按过去几年细分。有任何想法吗。谢谢。客户表中的字段包含:

    CustomerID    JOIN Date    Cancel Date   ActiveStatus ActiveDate   DueDate

     12345        10/01/2011   NULL          Yes         10/01/2012  10/01/2013

     12346        1/1/2010     12/31/2011    No          1/1/2010     1/1/2011
4

2 回答 2

0

好的,如果 ActiveDate 在 Join_Date 之后,我们知道客户续订了会员资格。要获得续订会员资格的客户百分比,我们需要获得:

ActiveDate > JOIN_Date 的客户数量(续订会员的客户)

更新会员的客户数量乘以 100

这个结果除以所有客户的总数

select 
(select COUNT(*)  from Customer where ActiveDate > JOIN_Date) * 100 / COUNT(*)
from Customer
于 2012-10-28T18:08:30.947 回答
0

您可以像这样计算每个客户的续订次数..

select
    *,
    datediff(yyyy, joindate, 
         case activestatus when 'yes' then  getdate() else CancelDate end
    )
from yourtable
于 2012-10-28T18:36:26.083 回答