如何在Access 2010中创建自动递增字段的选择查询?

3

我有一个库存条目清单。每个条目都有一个日期、物品名称和数量。现在我正在根据最近日期的数量选取前10个物品,然后跟踪这些物品过去5天的数量,并在我的表格中进行记录。我需要完成的最后一部分是,我希望对结果表格进行排序,以基于物品的最近日期数量顺序。

Date  Item   Volumes
1/20  Dog    5
1/20  Bird   4
1/20  Cat    2
1/19  Dog    3
1/19  Bird   6
1/19  Cat    10
1/18  Dog    0
1/18  Bird   2
1/18  Cat    0

以下是我正在运行的SQL代码的清理版本。目前,在按日期排序后,我所做的第二次排序只是按项目名称的字母顺序排序。
SELECT 
 TOP_VOLUMES.NAME, 
 DATA.VOLUMES, 
 DATA.TIMESTAMP
FROM DATA 
RIGHT JOIN 
 (SELECT TOP 10 NAME
  FROM DATA 
  WHERE TIMESTAMP = (SELECT MAX(TIMESTAMP) FROM DATA) 
  ORDER BY VOLUMES DESC, NAME) AS TOP_VOLUMES 
ON TOP_VOLUMES.NAME = DATA.NAME
WHERE ((SELECT MAX(TIMESTAMP) FROM DATA) - DATA.TIMESTAMP < 5)
ORDER BY DATA.TIMESTAMP DESC , DATA.NAME;

我真的希望能够避免创建任何临时表。有没有办法在联接语句中的选择语句中完成它?非常感谢您的帮助!


看起来你提了两个问题。一个是如何自动递增一个字段,另一个是如何按日期排序。能否用一句话澄清你想要做什么? - Newd
抱歉如果不清楚。我知道如何按日期排序,我只是想学习如何在选择查询中添加一个自动递增的字段。在我的示例查询中,在最后一行,我希望它读作ORDER BY DATA.TIMESTAMP DESC, TOP_VOLUMES.RANK,其中RANK是我已经添加到内部选择语句的某个自动递增字段。 - Ellen
1个回答

1

谢谢您的回复;我已经仔细阅读了这个,并且无法使其中一个解决方案适用于我,因为我没有每个字段的唯一标识符,并且我宁愿不编写VBA代码。不过,我会再次仔细查看这个 - 谢谢! - Ellen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接