我有一张化妆品的消费清单,清单记录了顾客消费乳液,日霜,眼霜的时间,金额,品牌.
现在我需要计算乳液的消费周期,遇到了这样一个问题:
同一顾客可能在同一天会消费同一款乳液两次,在计算消费周期的时候如果我把这两次都计算进去就会影响我的最后周期的准确性,导致周期变小.
求问各位大神我应该怎么改我的代码?
这是我写的不成熟的代码:
select avg(t.消费周期) from(
SELECT 客户卡号,count(客户卡号) as count,datediff(dd,min(营业日期),max(营业日期))*1.0/(count(客户卡号)-1)as 消费周期
FROM hfbns
WHERE [产品] like '%乳液%'
GROUP BY 客户卡号
having count(客户卡号)>1
and
min(营业日期)<>max(营业日期)) t
[img=https://img-bbs.csdn.net/upload/201804/25/1524642000_984968.png][/img]
我先计算了每一个顾客在过去的两年里消费乳液的周期,然后再算所有顾客的平均值,来得到整体的消费周期。不知道这种方法是否合理。