繁体   English   中英

使用 Max() 和 Sum() 的子查询

[英]Subqueries using Max() and Sum()

我有 2 个表:一个用于货物详细信息,另一个用于航班详细信息:

图片说明

我需要找到战​​斗中携带最重包裹的航空公司的名称。
我尝试使用子查询解决它,但我无法得到结果。

我的查询:

SELECT AIRLINE_NAME 
FROM FLIGHT 
WHERE EXISTS (SELECT MAX(TOTAL_WEIGHT) 
              FROM (SELECT SUM(WEIGHT_IN_KG)AS TOTAL_WEIGHT 
                    FROM CARGO 
                    GROUP BY FLIGHT_NO)
              );

有人可以帮我理解如何一起使用Max()Sum()吗?

select FLIGHT.FLIGHT_NO,FLIGHT.AIRLINE_NAME,Max(CARGO.WEIGHT_IN_KG) WEIGHT_IN_KG from CARGO 
inner join FLIGHT on FLIGHT.FLIGHT_NO = CARGO.FLIGHT_NO
group by FLIGHT_NO,AIRLINE_NAME limt 1;

愿这可以帮助你。

试试这个 -

SELECT AIRLINE_NAME 
FROM FLIGHT 
WHERE (FLIGHT_NO) = (SELECT FLIGHT_NO 
                     FROM (SELECT FLIGHT_NO, MAX(TOTAL_WEIGHT) 
                           FROM (SELECT FLIGHT_NO, SUM(WEIGHT_IN_KG) AS TOTAL_WEIGHT 
                                 FROM CARGO 
                                 GROUP BY FLIGHT_NO
                                ) X
                          ) Y
                     );
select WEIGHT_IN_KG,t2.FLIGHT_NO,
(select AIRLINE_NAME from FLIGHT where FLIGHT.FLIGHT_NO = t2.FLIGHT_NO) AIRLINE_NAME

from 
(select MAX(WEIGHT_IN_KG) WEIGHT_IN_KG,FLIGHT_NO from 
(select SUM(WEIGHT_IN_KG) as WEIGHT_IN_KG,FLIGHT_NO from CARGO group by FLIGHT_NO) t1) t2

根据您的建议,我尝试在子查询中对其进行编码,这也可能对您有所帮助。

select top 1 FLIGHT.AIRLINE_NAME from CARGO 
inner join FLIGHT on FLIGHT.FLIGHT_NO = CARGO.FLIGHT_NO GROUP BY FLIGHT.AIRLINE_NAME order by sum(CARGO.WEIGHT_IN_KG) desc

这将获取携带最重包的航班名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM