小编 Za*_*hir的帖子

计算订单之间的平均天数

我想从一个名为 Orders 的表中计算几个订单日期之间的平均天数。对于每个 CustomerID,订单之间的平均天数是多少。示例表如下(img):

CREATE TABLE #Orders(CustomerID int, OrderDate datetime);

INSERT #Orders(CustomerID, OrderDate) VALUES
    (100,'20170114'),(100,'20170123'),(100,'20170129'),
    (101,'20170202'),(101,'20170212');
Run Code Online (Sandbox Code Playgroud)

我试过这个查询:

SELECT  CustomerID, AVG(OrderDate - PriorDate)
FROM (SELECT CustomerID, OrderDate
           , LAG(OrderDate) OVER (PARTITION BY CustomerID ORDER BY OrderDate) as PriorDate
      FROM #Orders where CustomerID = 100)
Run Code Online (Sandbox Code Playgroud)

但是,这会产生:

消息 102,级别 15,状态 1
')' 附近的语法不正确。

sql-server t-sql sql-server-2014

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

sql-server ×1

sql-server-2014 ×1

t-sql ×1