ms-access - 根据客户和购买日期添加编号
问题描述
我有一份客户电子邮件地址和订单日期的列表。我需要为每个客户的订单提供一个序列号。
我可以使用 countifs 函数在 Excel 中执行此任务。但是,我的数据太大而无法在那里处理,我更愿意在访问中设置它。
数据完全乱序,所以我首先通过客户电子邮件订购,然后按购买日期订购第二次。从那里,我想根据日期对他们的订单应用一个序列号。因此,如果 joe 有三个订单,我想知道哪个订单是第一、第二和第三。
解决方案
按照 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];
推荐阅读
- javascript - 为什么 [,,].join(' ') 长度比数组长度小一?
- html - 确定父级大小时如何忽略某个元素
- php - 使用 mysql 表中的信息从连接中删除数据
- pandas - 正则表达式文本解析器
- java - `java.nio.file.Files.createFile` 是阻塞调用吗?
- docker - docker manifest 平台变体的有效值是什么
- stripe-payments - 条纹转账收据
- python - 在 Keras 中使用 SimpleRNN 时如何设置二进制变量的输入和输出形状?
- ios - iOS - MVP 设计中的 UITableView 委托和数据源
- node.js - 如何通过常见的 _id 字段过滤我的事件数组?