고객이 우리에게 고수하는 평균 시간을 계산하는 임무가 주어졌습니다. (특히 고객이 된 날부터 마지막 주문을 한 날까지)임시 테이블을 채운 후 평균을 계산하십시오.
나는 제대로하고 있다고 확신하지는 않지만, 고객에게 입력 한 날짜를 모으는 것이었다. 데이터베이스로 이동 한 다음 주문 테이블로 가서 가장 최근의 주문 날짜를 잡고 임시 테이블에 덤프 한 다음이 두 날짜 간의 시간 길이를 계산 한 다음 해당 숫자를 기준으로 평균을 집계하십시오.
(나는 또 다른 wobbly wobbly time stuff를해야만한다. 그러나 이것이 내 엉덩이를 걷어차는 것이다.) 이 말의 최종 목표는 "Average on our customers are 4 년, 3 개월. " (또는 데이터를 보여줍니다 어떤이 될 수 있습니다.)
SELECT * INTO #AvgTable
FROM(
SELECT DISTINCT (c.CustNumber) AS [CustomerNumber]
, COALESCE(convert(VARCHAR(10),c.OrgEnrollDate,101),'') AS [StartDate]
, COALESCE(CONVERT(VARCHAR(10),MAX(co.OrderDate),101),'')AS [EndDate]
,DATEDIFF(DD,c.OrgEnrollDate, co.OrderDate) as [LengthOfTime]
FROM dbo.Customer c
JOIN dbo.CustomerOrder co ON c.ID = co.CustomerID
WHERE c.Archived = 0
AND co.Archived =0
AND c.OrgEnrollDate IS NOT NULL
AND co.OrderDate IS NOT NULL
GROUP BY c.CustNumber
, co.OrderDate 2
)
--This is where I start falling apart
Select AVG[LengthofTime]
From #AvgTable
SQL 문과 관련하여 다음과 같은 결론을 내릴 수 있습니다. 4 년 전 단일 주문을 등록한 고객 중 일부는 현재 귀사를 방문한 클라이언트보다 훨씬 적게 '스틱'합니다. 지난 2 개월 동안 5 번 주문. 최소한 보고서에 분산을 추가하십시오. (예 : '희귀 방문자', '존 도우', '파워 쇼퍼')의 분석 빈도를 통합하여 분석하는 것이 좋습니다. 모든 의견 imho, 물론. – collapsar