首页 > 解决方案 > 根据客户和购买日期添加编号

问题描述

我有一份客户电子邮件地址和订单日期的列表。我需要为每个客户的订单提供一个序列号。

我可以使用 countifs 函数在 Excel 中执行此任务。但是,我的数据太大而无法在那里处理,我更愿意在访问中设置它。

数据完全乱序,所以我首先通过客户电子邮件订购,然后按购买日期订购第二次。从那里,我想根据日期对他们的订单应用一个序列号。因此,如果 joe 有三个订单,我想知道哪个订单是第一、第二和第三。

排名结果示例

标签: ms-access

解决方案


按照 Allen Browne http://allenbrowne.com/ranking.html的指导,考虑:

SELECT Table1.*, 
     (SELECT Count(*) AS Rank FROM Table1 AS Dupe 
      WHERE Dupe.[Date of Purchase]<Table1.[Date of Purchase] 
      AND Dupe.[Customer Email] = Table1.[Customer Email])+1 AS Rank
FROM Table1
ORDER BY [Customer Email], [Date of Purchase];

推荐阅读