在我的 sql 案例中,我无法计算 row_number 的最大值。
我将直接在 SQL Fiddle 示例上进行解释,因为我认为它会更快地理解:SQL Fiddle
- 列“OrderNumber”、“HourMinute”和“Code”仅代表我的表格,因此与编码目的无关
- “DateOnly”列包含日期
- “电话”列包含我客户的电话
- “购买”列包含客户在过去 12 个月内购买的次数。请注意,该值是针对每个日期提供的,因此 12 个月的时间段是相对于我们正在评估的日期而言的。
最后,我试图生成的列是“PREVIOUSPURCHASES”,它计算“购买”列中提供的数字在过去 12 个月中出现的次数(对于每部手机)。
您可以在 SQL Fiddle 示例中看到我到目前为止所取得的成就。'PREVIOUSPURCHASES' 列正在产生我想要的东西,但是,它也产生了较低的值(例如,只有最大值是我需要的值)。
例如,您可以看到第 4 行和第 5 行是重复的,其中一个的“PREVIOUSPURCHASES”为 1,另一个为 2。在这种情况下,我不想拥有第 4 行。
我虽然想用 max(row_number) 之类的东西替换 row_number,但我无法生成它(已经在 stackoverflow 上看过类似的帖子......)。
这应该在 SQL Server 2012 中实现。
提前致谢。