gpt4 book ai didi

tsql - 如何计算SQL中的平均日期出现频率

转载 作者:行者123 更新时间:2023-12-04 06:40:23 29 4
gpt4 key购买 nike

我正在尝试对下表生成查询(仅相关部分):

Create Table [Order] (
OrderID int NOT NULL IDENTITY(1,1),
CreationDate datetime NOT NULL,
CustomerID int NOT NULL
)

我想查看一个 CustomerID 列表,其中包含每个客户在订单之间的平均天数。我很好奇这是否可以使用基于纯集合的解决方案来完成,或者是否需要游标/临时表解决方案。

最佳答案

;WITH base AS
(
SELECT CustomerID,
ROW_NUMBER() over (partition BY CustomerID ORDER BY CreationDate, OrderID) AS rn
FROM [Order]
)
SELECT b1.CustomerID,
AVG(DATEDIFF(DAY,b1.CreationDate, b2.CreationDate) )
FROM base b1
JOIN base b2
ON b1.CustomerID=b2.CustomerID
AND b2.rn =b1.rn+1
GROUP BY b1.CustomerID

关于tsql - 如何计算SQL中的平均日期出现频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4327047/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com