SQL求平均销售等待时间

有一个Sales表,只包含日期列和顾客列,是否有办法在一条SQL语句中计算每个顾客在两次销售之间的平均天数?

表结构如下:

Create table Sales
(customer_name char(5) not null,
Sale_date date not null,
Primary key(customer_name, sale_date);

Insert into Sales values
insert into Sales values
("Fred", "1994-06-01"),
("Mary", "1994-06-01"),
("Bill", "1994-06-01"),
("Fred", "1994-06-02"),
("Bill", "1994-06-02"),
("Bill", "1994-06-03"),
("Bill", "1994-06-04"),
("Bill", "1994-06-05"),
("Bill", "1994-06-06"),
("Bill", "1994-06-07"),
("Fred", "1994-06-07"),
("Mary", "1994-06-08");



思路
1. 依次算出每个顾客在相邻的日期之间的平均天数,将所有的天数相加,再求平均。

 

 

 

 

 

 

 

 



思路1的实现说明了太聪明而想过了头了。而且sql也不是那么地好写。
考虑如下的数学式
(date2 – date1) + (date3 – date2) + (date4 – date3) + (date5 – date4) / 5;
事实上是等于(date5 – date1) / 5;
想到了新的SQL实现方式了吗?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值