首页 > 解决方案 > 如何使这个 2 步查询解决方案更好

问题描述

在 MS Access 中进行查询:

我现在展示我的问题的简化示例。

我有一张桌子

Name/age/nickname

- Tom/12/wolf
- Chris/11/ranger
- Phil/14/H-man
- Chris/16/walker
- Chris/18/Mo

目标:一个名字出现多少次,但只计算昵称中包含“a”的情况。

我需要 2 个查询;步骤1:

SELECT Members.Name, Members.Age, Members.Nickname
FROM Members
WHERE (((Members.Nickname) Like "*A*"));

第2步:

SELECT Step1.Name, Count(Step1.Age) AS AantalVanAge
FROM Step1
GROUP BY Step1.Name;

结果

- Chris 2
- Phil 1

标签: sqlms-accessms-access-2010

解决方案


您可以使用以下方法在单个查询中实现此目的:

select t.name, count(*) as AantalVanAge
from members t
where t.nickname like "*A*"
group by t.name

推荐阅读