【问题标题】:Add a number based on customer and date of purchase根据客户和购买日期添加编号
【发布时间】:2019-10-24 13:26:24
【问题描述】:

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

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

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

【问题讨论】:

  • 我提到了那个原帖;但是,问题是我需要根据日期对排名进行排序。当我尝试解决方案时,它在每一行中返回“1”的结果并且没有排序。
  • 您应该编辑问题以显示尝试的 SQL。我希望嵌套查询不正确。最简单的方法是在报表设计中这样做。
  • 按日期排序不会告诉读者第 1 次、第 2 次等吗?

标签: ms-access


【解决方案1】:

按照 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];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 2016-12-09
    • 2018-05-01
    • 2020-07-09
    相关资源
    最近更新 更多