如何找到新客户?

时间:2017-06-10 09:06:00

标签: php sql-server

我遇到了一个问题,我已经解决了3天了。 问题是最新的,有两列日期数据库(“yyyy-mm”),电话号码是唯一的非重复。我想知道每个月有多少新客户。那么,公式大致是最新的(新客户是第一个月+新客户是下个月......)。如果客户遇到第一个月他被认为是新客户,那么在另一个月,他就错过了一个新客户。

2 个答案:

答案 0 :(得分:1)

尝试这样的事情:

select year(f2.DateColumn) YearCol,  month(f2.DateColumn) MonthCol, count(f2.PhoneNumber) NbNewPhone
from (
        Select f1.*,  row_number() over(partition by f1.PhoneNumber order by f1.DateColumn) rang
        from yourTable f1
) f2 
where f2.rang=1
group by year(f2.DateColumn),  month(f2.DateColumn)
order by 1, 2

或者如果您的列不是日期:

select f2.DateColumn, count(f2.PhoneNumber) NbNewPhone
from (
        Select f1.*,  row_number() over(partition by f1.PhoneNumber order by f1.DateColumn) rang
        from yourTable f1
) f2 
where f2.rang=1
group by f2.DateColumn
order by 1, 2

答案 1 :(得分:0)

根据你的例子,下面的数量就足够了:

Select DateColumn, Count(PhoneNumber) from yourTable
    Group by DateColumn

如果Datecolumn的实际日期为yyyy-mm-dd,其日期数据类型可以查询如下:

Select year(datecolumn), month(datecolumn), count(PhoneNumber) from yourTable
   group by year(datecolumn), month(datecolumn)
相关问题