[英]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.