访问查询分组/总和

时间:2015-10-29 20:58:46

标签: mysql vba ms-access

我尝试创建一个报告/查询,按年龄组分组。我当前的查询:

SELECT QUE_REP_GENERE_AGEGR.genere, QUE_REP_GENERE_AGEGR.age, Count(*) AS [count] FROM QUE_REP_GENERE_AGEGR
GROUP BY QUE_REP_GENERE_AGEGR.genere, QUE_REP_GENERE_AGEGR.age;

以下输出:(我知道Genre拼写错误)

Screenshot of Output

现在想总结一下年龄组,如0-9; 10-19; 20-29; ...... (是的,我知道目前有一个年龄段的记录)

我曾尝试将分组功能用于报告,但并不成功,因为它没有总结类型,但显示如

...
Drama  1
Horror 2
Horror 5
Musical 1
...

我该如何分组呢?我需要另一个查询还是可以分组当前的查询? VBA是一种选择吗?

2 个答案:

答案 0 :(得分:2)

我还没有完成MS-Access,但正如我评论的那样,你需要有一个"年龄组"的概念。 某处,并按此分组。

我强烈建议您在表格中定义这些组,否则您的查询必须定义它们。我觉得这样的事情会起作用(也许不是完全那样,但你明白了):

SELECT
     genere [Genre]
    ,AgeGroup
    ,COUNT(*) [Count]
FROM (
    SELECT
         genere
        ,CASE WHEN age < 10 THEN '0-9'
              WHEN age < 20 THEN '10-19'
              WHEN age < 30 THEN '20-29'
         END AgeGroup
     FROM QUE_REP_GENERE_AGEGR
    )
GROUP BY genere, AgeGroup

答案 1 :(得分:-1)

我找到了一个解决方案:我刚刚做的是向下舍入到最接近的10,以便18到10和45到40 ...... 这很有效,但仍然可以提供更好的解决方案。