在等级划分中的情况

时间:2019-08-02 20:53:54

标签: sql window-functions rank

我一直在重新学习SQL,但不确定是否可以完成此代码。有人可以提供有关此案例的反馈或替代方案吗?

因此,总的来说,我正在研究同一天,不同时间,同一用户之间提交的订单之间是否存在重复。

我在考虑第二步,我将对他们进行排名,以根据时间和日期找出是否还有另一行要排在第二位?


Select * ( including orderDate) 
RANK() OVER(PARTITION BY
Customer,
case 
when (Orderstart(Datetimestamp) > OrderEnd(Datetimestamp) and OrderEnd<Orderstart ) AS Rank_Items

From FirstStep

这只是对现在上升到500以上的所有事物进行排名。

样本数据

Sample

所需结果:

Desired Result

1 个答案:

答案 0 :(得分:0)

我将使用row_number()来识别同一位客户在同一日期的多个订单:

row_number() over (partition by customer, cast(orderdatetime as date) order by orderdatetime)

转换日期可能因数据库而异。

这枚举了给定日期的客户订单,这似乎是您想要完成的工作。