【发布时间】:2019-05-25 10:28:45
【问题描述】:
我正在尝试编写一个 SQL 查询来计算购买两次或多次购买的所有客户从购买到购买的平均天数:
Customer_ID | Average number of day
1033 | 175
11 | 334
1100 | 202.5
111 | 52.5
我成功显示了所有客户的所有购买日期,并计算了购买之间的天数。
SELECT Customer_ID, Order_Date Cur,
LAG(Order_Date, 1) OVER (ORDER BY Customer_ID) AS Previous,
DATEDIFF(day, LAG(Order_Date, 1) OVER (ORDER BY Customer_ID), Order_Date)
[Days Between Purchases]
FROM Orders
如何忽略每个客户的第一行并计算购买之间的平均值? (我必须在我的回答中使用 LAG
【问题讨论】:
-
什么版本的 SQL Server?您的代码暗示您使用 2008 年。
-
另外,第一行的列之间的天数如何为 0?应该是
NULL;这是您的完整查询吗?
标签: sql sql-server