我在Access 2013(表1)中有一个表,其中包含以下列:
ID(pk),ReportDate,金额
最新数据是30-50天。例如,今天(2016年6月22日)最新的数据将是5/1/16行,因为6月1日的数据将在7月中旬之前输入。 (ReportDate列中的所有日期均为月中的第1天,即:4/1 / 16,5 / 1/16等。)
我需要编写一个可以进行6个月回顾的查询,但不包括最新月份的数据。
因此,例如,如果我今天(16/22/16)运行查询,我只会获得与以下几个月对应的行:
12/1/2015
1/1/2016
2/1/2016
3/1/2016
4/1/2016
应排除5/1/16的数据,因为这是最近一个月。
我可以通过将ReportDate的条件(在QBE中)设置为>=DateAdd("m",-6,Date())
来提取前6个月的数据,但我似乎无法弄清楚如何排除最近一个月。
答案 0 :(得分:2)
这应该会为您提供表格中最近一个月的开始日期:
SELECT Max(ReportDate) AS MaxOfReportDate
FROM Table1;
如果这是您要排除的月份,请将该查询用作要交叉连接回表的子查询。然后,您可以使用WHERE
条款,其BETWEEN
条件的终点由基于DateAdd()
的{{1}}表达式确定:
MaxOfReportDate