【问题标题】:Select max date per month选择每月最大日期
【发布时间】:2013-07-05 11:06:29
【问题描述】:

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

【问题讨论】:

    标签: ms-access ms-access-2007


    【解决方案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
    

    【讨论】:

    • 效果很好。谢谢你。无论如何,如果我想按日期范围退出。在我的示例中,我想要在 #1/1/2012# 和 #3/30/2012# 之间。我正在寻找的结果是这样的:对于板 A:日期:2012 年 3 月 15 日 TicketStatus:关闭;对于板 C:日期:2012 年 3 月 28 日 TicketStatus:关闭.....再次感谢,真的是一个很大的帮助
    • 您似乎在一个新问题中解决了这个问题:stackoverflow.com/questions/17501975/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2015-03-28
    • 1970-01-01
    • 2020-10-30
    相关资源
    最近更新 更多