sql - 如何使这个 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
解决方案
您可以使用以下方法在单个查询中实现此目的:
select t.name, count(*) as AantalVanAge
from members t
where t.nickname like "*A*"
group by t.name
推荐阅读
- python - 在 pygame 中显示文本时遇到问题
- php - 一种从 Laravel 中的控制器调用命令提示符功能的方法?
- delphi-xe7 - 我应该如何将 char dbcc_name[1] 翻译成 Delphi?
- python - Pytest Django 函数模拟 APITestCase
- bioinformatics - 将杂原子添加到 pdb 文件
- python - 如何创建根据组大小排序的多索引数据框?
- jquery - jquery对象的每次迭代
- f# - 将嵌套匹配表达式转换为函数
- python - 如何在 Python 2.7 中阻止键盘输入?
- c++ - 用不同的列读取每一行的全部内容