1

我有一张桌子检查,我正在尝试选择每人每月的最大日期。我想在 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
4

1 回答 1

1

使用Format表达式创建计算字段month_startDate ,即字段值对应的月份的第一天。然后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
于 2013-07-05T13:34:52.990 回答