sql - 如何使这个两步查询解决方案更好

标签 sql ms-access ms-access-2010

在 MS Access 中进行查询:

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

我有一张 table 的成员

Name/age/nickname

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

目标:名称出现的次数,但仅在昵称中包含“a”时才计数。

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

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

第二步:

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

结果

- Chris 2
- Phil 1

最佳答案

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

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

关于sql - 如何使这个两步查询解决方案更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59034022/

相关文章:

sql-server - 将 MS Access 数据库转换为 SQL Server 数据库

sql - ORACLE 中的 LISTAGG

sql - 用空格替换引号之间的逗号

mysql - 连接表上的多个查询并获取单个选择结果

mysql - 使用mysql workbench 8 Access 2007到mysql迁移

vba - 连续循环 ADO VBA Access 2010

sql - 调用另外两个查询的查询

mysql - 很难在 SQL 中创建过程

ms-access - 对象的方法 'Parent' 失败

excel - 在 Access 中对链接的 Excel 表执行 SQL 更新