【问题标题】:Query with individual dates, counting values by criteria查询单个日期,按标准计算值
【发布时间】:2018-07-10 09:38:08
【问题描述】:

我想要一个只显示单个日期的查询(因此没有单个日期出现两次/多次),计算给定日期的记录数,并进一步计算另一个字段满足其他条件的记录数:

Date    | total amount | Field2 = "Aaa" | Field2 = "Bbb" | Filed2 = ....
10.7.18 | 32           | 2              | 3              | ...
11.7.18 | 20           | 5              | 2              | ...

我的方法是将其属性设置为“唯一值”的查询设置为“是”,然后我添加了两次日期字段,第一次将其功能设置为“分组依据”,第二次将其功能设置为“数数”;这给了我我的个人日期和设定日期的记录数。到目前为止一切顺利。

现在我添加“Field2”,将其功能设置为“count”,并将条件添加到“=Value("Aaa")”。这会显示一个空的记录列表。

【问题讨论】:

    标签: ms-access ms-access-2016


    【解决方案1】:

    试试这个:

    Select
        [Date],
        Sum(Amount) As TotalAmount,
        Sum(Abs(Field2 = "Aaa")) As CountA,
        Sum(Abs(Field2 = "Bbb")) As CountB,
        Sum(Abs(Field2 = "Ccc")) As CountC
    From
        YourTable
    Group By
        [Date]
    

    如果您只需要一个总数计数,请使用:

    Select
        [Date],
        Count(*) As TotalCount,
        Sum(Abs(Field2 = "Aaa")) As CountA,
        Sum(Abs(Field2 = "Bbb")) As CountB,
        Sum(Abs(Field2 = "Ccc")) As CountC
    From
        YourTable
    Group By
        [Date]
    

    【讨论】:

    • 非常感谢,工作近乎完美。 “总和(金额)作为总金额”不起作用。我用“Sum(Abs([Date]=[Date))”替换它。看起来很丑,但可以完成工作。我以前从未使用过 SQL 视图,但从现在开始肯定会这样做。再次感谢 Gustav!
    • 好的,以为你有一个金额字段。请查看编辑后的答案。
    猜你喜欢
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    • 2016-05-14
    相关资源
    最近更新 更多