【问题标题】:MS Access: Find the most common user per month queryMS Access:查找每月最常见的用户查询
【发布时间】:2018-11-26 22:29:18
【问题描述】:

Access 2016 相当新,我正在编写查询以获取每月数据库中最常见的用户。

所以记录应该是

Table1
ID    Date1    
1     2019-02-28

这是我对每月总数进行分组的代码:

Month: Format([Date1],"mmmm")
TopUser: (SELECT TOP 1 [Table1]![ID] FROM [Table1] GROUP BY     
[Table1]![ID] order by COUNT([Table1]![ID]) DESC)

期望:

Month     TopUser
January   2
February  1
March     2
April     3

结果:

Month     TopUser
January   2
February  2
March     2
April     2

所以我的代码返回的是总体上最常见的用户,而不是每个月。我不确定这是我误解的访问方面还是我的查询。

【问题讨论】:

    标签: database ms-access-2016


    【解决方案1】:

    尝试按月份过滤:

    Select 
        Format([Date1], "yyyymm") As YearMonth,
            (Select Top 1 T.ID 
            From Table1 As T
            Where Format(T.[Date1], "yyyymm") = Format(Table1.[Date1], "yyyymm")
            Group By ID
            Order By Count(T.ID) Desc) As TopID
    From
        Table1
    Group By
        Format([Date1], "yyyymm")
    

    【讨论】:

    • 谢谢,但我收到消息“您的查询不包括指定的表达式 'T![ID]' 作为聚合函数的一部分”。
    • 是的,是的。使用修改后的完整查询尝试编辑后的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    相关资源
    最近更新 更多