我有一张检查表,我正在尝试选择每人每月的最大日期。我希望这在MS Access 2007查询中,我找到的大多数答案都是T SQL格式。
Date PlateNo TickeStatus
01-15-12 A Open
01-23-12 c Open
01-17-12 A Close
02-23-12 c Open
02-15-12 A Open
03-23-12 c Open
03-15-12 A Close
03-28-12 c Close
04-15-12 A Open
04-23-12 c Close
答案 0 :(得分:1)
使用Format
表达式创建计算字段 month_start ,这是与Date
字段值对应的月份的第一天。然后GROUP BY
month_start 表达式和PlateNo
。
SELECT
Format(i.Date,'yyyy-mm-01') AS month_start,
i.PlateNo,
Max(i.Date) AS MaxOfDate
FROM inspections AS i
GROUP BY
Format(i.Date,'yyyy-mm-01'),
i.PlateNo;
将样本数据存储在名为 inspections 的表中,该查询将返回此结果集。
month_start PlateNo MaxOfDate
2012-01-01 A 1/17/2012
2012-01-01 c 1/23/2012
2012-02-01 A 2/15/2012
2012-02-01 c 2/23/2012
2012-03-01 A 3/15/2012
2012-03-01 c 3/28/2012
2012-04-01 A 4/15/2012
2012-04-01 c 4/23/2012