每组最大日期之间的天数
Days between max date in each group
我想知道每个订单之间的天数。我有每个订单的下达日期以及显示其第一、第二、第三等订单的参考
我想看看订单1和订单2之间有多少天,然后2和3之间有多少天等等。
select OrderID, OrderDate, RankOrder
from Orders
一些示例数据是:
Order 1 -> 01/01/2015 -> 1
Order 2 -> 03/01/2015 -> 2
Order 3 -> 10/01/2015 -> 3
我希望结果有一个包含天数的额外列:
Order 1 -> 01/01/2015 -> 1 -> 2
Order 2 -> 03/01/2015 -> 2 -> 7
Order 3 -> 10/01/2015 -> 3 -> 0
最后一个订单可能会查看当前日期以计算出 datediff。
因为你有排名功能,所以这只是一个带日期算术的join。使用 SQL 服务器的 datediff()
函数,这看起来像:
select o.*,
datediff(day, o.OrderDate,
coalesce(onext.OrderDate, getdate()) as diff
from orders o left join
orders onext
on o.rankorder = onext.rankorder - 1;
日期算法取决于数据库。
我想知道每个订单之间的天数。我有每个订单的下达日期以及显示其第一、第二、第三等订单的参考
我想看看订单1和订单2之间有多少天,然后2和3之间有多少天等等。
select OrderID, OrderDate, RankOrder
from Orders
一些示例数据是:
Order 1 -> 01/01/2015 -> 1
Order 2 -> 03/01/2015 -> 2
Order 3 -> 10/01/2015 -> 3
我希望结果有一个包含天数的额外列:
Order 1 -> 01/01/2015 -> 1 -> 2
Order 2 -> 03/01/2015 -> 2 -> 7
Order 3 -> 10/01/2015 -> 3 -> 0
最后一个订单可能会查看当前日期以计算出 datediff。
因为你有排名功能,所以这只是一个带日期算术的join。使用 SQL 服务器的 datediff()
函数,这看起来像:
select o.*,
datediff(day, o.OrderDate,
coalesce(onext.OrderDate, getdate()) as diff
from orders o left join
orders onext
on o.rankorder = onext.rankorder - 1;
日期算法取决于数据库。