识别客户的唯一身份访问

问题描述:

我在SQL Server中工作,我有一个CustomerID,VisitDate,Sales和Quantity表。 我试图通过访问来计算平均支票,所以客户在第一次重复购买,第二次重复购买等时购买了多少钱。此外,每次购买之间需要多少时间。识别客户的唯一身份访问

任何指导将有所帮助, 谢谢!

+2

的,什么是你试试? – SMA 2014-11-04 16:16:04

+0

你到目前为止做了什么? – 2014-11-04 16:16:23

+0

为什么你称这个问题为“识别独特的访问”?这个问题与这个问题有什么关系? – 2014-11-04 16:17:33

您可以使用row_number()和条件聚合。下面是一个的exaple:

select customerid, avg(sales) as avgsales, 
     max(case when segnum = 1 then sales end) as sales_01, 
     max(case when segnum = 2 then sales end) as sales_02, 
     max(case when segnum = 3 then sales end) as sales_03 
from (select t.*, row_number() over (partition by customerid order by visitdate) as segnum 
     from table t 
    ) t 
group by customerid; 

顺便说一句,你的问题确实应该包括样本数据,预期的效果,并且该表的布局,

+0

谢谢戈登!下一次,我会包含示例数据。 – phd4212 2014-11-04 16:38:41

+0

你会注意到这个问题很少收到。我非常清楚地理解(这是一个典型的数据分析查询),但其他人显然没有。 – 2014-11-04 23:05:28