首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MySQL中消除子句的组效应?

如何在MySQL中消除子句的组效应?
EN

Stack Overflow用户
提问于 2016-03-18 09:49:37
回答 2查看 347关注 0票数 0

查询:对于每名获得超过三架飞机认证的飞行员,查找的开斋节和最大巡航范围-他/她所认证的每架飞机的

我写的查询:

代码语言:javascript
复制
select certified.eid,cruising_range
from certified join employee 
on employee.eid=certified.eid
join aircraft
on certified.aid=aircraft.aid
having count(certified.eid)>3;

输出:

它只显示了一个巡航范围,但id 10的飞行员被4飞机认证。如何得到其他行?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-18 09:56:21

你的问题主要有两个方面:

  1. 找到三架以上飞机上的飞行员。 从eid认证组中选择eid,其计数(*)>3
  2. 找到那些飞机的巡航范围 选择eid,cruising_range从飞机加入认证使用(援助).

将两者结合起来:

代码语言:javascript
复制
SELECT eid, cruising_range FROM aircraft JOIN certified USING (aid) JOIN (
  SELECT eid FROM certified GROUP BY eid HAVING COUNT(*) > 3
) t USING (eid)
票数 2
EN

Stack Overflow用户

发布于 2016-03-18 09:53:54

使用group by certified.eid

count是一个聚合运算符,它只返回一行(没有group子句)

代码语言:javascript
复制
select certified.eid,cruising_range
from certified join employee 
on employee.eid=certified.eid
join aircraft
on certified.aid=aircraft.aid
group by certified.eid`
having count(certified.eid)>3;

如果不按聚合函数分组,则只返回一行

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36081123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档