Sql 从嵌套查询中选择最大值

Sql 从嵌套查询中选择最大值,sql,db2,greatest-n-per-group,Sql,Db2,Greatest N Per Group,我有一个嵌套查询,它返回按不同乘客类型分组的所有乘客的总票价 SELECT PASSNGR.type , sum(FARE.fee) AS totalFare FROM Passenger AS PASSNGR JOIN Fare AS FARE ON (PASSNGR.type = FARE.type) GROUP BY PASSNGR.type ORDER BY totalFare DESC 我试图了解如何选择具有最大值(totalFare)的行。我环顾四周,但大多

我有一个嵌套查询,它返回按不同乘客类型分组的所有乘客的总票价

SELECT PASSNGR.type , sum(FARE.fee) AS totalFare 
  FROM Passenger AS PASSNGR 
  JOIN Fare AS FARE ON (PASSNGR.type = FARE.type) 
  GROUP BY PASSNGR.type 
  ORDER BY totalFare DESC
我试图了解如何选择具有最大值(totalFare)的行。我环顾四周,但大多数都是从定义的表中选择最大值,因为我使用嵌套查询生成每种乘客类型的总票价

我尝试在初始选择之前嵌套另一个Select MAX(totalFare),但这只返回MAX的值,而不返回类型

SELECT MAX(totalFare) 
  FROM (SELECT PASSNGR.type , sum(FARE.fee) AS totalFare 
          FROM Passenger AS PASSNGR 
          JOIN Fare AS FARE ON (PASSNGR.type = FARE.type) 
          GROUP BY PASSNGR.type ORDER BY totalFare)

这是你想要的吗

SELECT p.type, sum(f.fee) AS totalFare 
FROM Passenger p JOIN
     Fare f
     ON p.type = f.type
GROUP BY p.type 
ORDER BY totalFare DESC
FETCH FIRST 1 ROW ONLY;
我应该注意,
JOIN
不是必需的。你能做到

SELECT f.type, sum(f.fee) AS totalFare 
FROM Fare f
GROUP BY f.type 
ORDER BY totalFare DESC
FETCH FIRST 1 ROW ONLY;
这个标签专门用来回答这样的问题。如果类型1的总票价为5000美元,类型2的总票价也为5000美元,您想要什么作为答案?