SQL語句練習(xí)實(shí)例之三平均銷售等待時(shí)間

有一張Sales表,其中有銷售日期與顧客兩列,現(xiàn)在要求使用一條sql語句實(shí)現(xiàn)計(jì)算

代碼如下:
—1.平均銷售等待時(shí)間
—有一張Sales表,其中有銷售日期與顧客兩列,現(xiàn)在要求使用一條SQL語句實(shí)現(xiàn)計(jì)算
–每個(gè)顧客的兩次購買之間的平均天數(shù)
–假設(shè):在同一個(gè)人在一天中不會(huì)購買兩次
create table sales
(
custname varchar(10) not null,
saledate datetime not null
)
go
insert sales
select ‘張三’,’2010-1-1′ union
select ‘張三’,’2010-11-1′ union
select ‘張三’,’2011-1-1′ union
select ‘王五’,’2010-2-1′ union
select ‘王五’,’2010-4-1′ union
select ‘李四’,’2010-1-1′ union
select ‘李四’,’2010-5-1′ union
select ‘李四’,’2010-9-1′ union
select ‘李四’,’2011-1-1′ union
select ‘趙六’,’2010-1-1′ union
select ‘錢途’,’2010-1-1′ union
select ‘錢途’,’2011-3-1′ union
select ‘張三’,’2011-9-1′
go
select custname,DATEDIFF(d,min(saledate),max(saledate))/(COUNT(*)-1) as avgday
from sales
group by custname
having count(*)>1
go
select custname,case when count(*)>1 then DATEDIFF(d,min(saledate),max(saledate))/(COUNT(*)-1)
else DATEDIFF(d,min(saledate),max(saledate)) end
as avgday
from sales
group by custname
–having count(*)>1
go
drop table sales

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊8 分享