我在计算我的sql情况下row_number的最大值时遇到了问题。在交叉内部获得最大row_number适用
我会直接解释它的SQL小提琴例子,因为我认为这将是更快的了解:SQL Fiddle
- 列“订单号码”,“HourMinute”和“守则”只是代表我的表因此,不应该用于编码的目的是相关
- 列“DateOnly”包含日期
- 列“电话”包含我的客户
- 列“购买”的手机包含的次数客户在买最近12个月。请注意,此值是针对每个日期提供的,因此12个月的时间段是相对于我们正在评估的日期。
最后,我试图制作的专栏是'PREVIOUSPURCHASES',用于统计在过去12个月(每部手机)中“Purchases”列中提供的数字的次数。
您可以在SQL Fiddle示例中看到迄今为止我所取得的成果。 “PREVIOUSPURCHASES”这一列正在产生我想要的,然而,它也会产生较低的值(例如,只有最大值是我需要的值)。
例如,您可以看到第4行和第5行是重复的,其中一个的'PREVIOUSPURCHASES'为1,另一个为2.我不希望第4行在这种情况下。
我虽然关于用max(row_number)替换row_number,但我还没有能够产生它(已经看过类似的帖子在stackoverflow ...)。
这应该在SQL Server提前实现2012年
感谢。
(1)'购买'是'int'吗? (2)不清楚“PREVIOUSPURCHASES”。您是否介意根据您的小提琴数据发布需要的结果? – 2013-04-10 17:55:15