SQL查询 - 获取所有计数的最大值

时间:2018-03-29 14:24:09

标签: sql ms-access

我有一个机场数据库:

Airpot Database

我需要显示飞行次数最多的飞行员的飞行员ID,这是我的疑问:

SELECT 
    t.PilotID, MAX(t.flights) 
FROM 
    (SELECT 
         PilotID, COUNT(*) AS flights  
     FROM 
         Flights 
     GROUP BY 
         PilotID) AS t

没有t.pilotID,它可以工作,只显示最大航班 - 但是 t.pilotID我收到此错误:

  

您尝试执行的查询不包含指定表达式“PilotID”作为聚合函数的一部分

2 个答案:

答案 0 :(得分:0)

根据计数,您需要在降序后使用top 1关键字。请尝试以下:

SELECT top 1 PilotID, COUNT(*) AS flights 
FROM Flights 
GROUP BY PilotID
ORDER BY COUNT(*) desc

答案 1 :(得分:0)

你需要Group By,Order By Desc,Top 1&标记Count(flightCode)聚合函数:

SELECT Top 1 Flights.PilotID, Count(Flights.FlightCode) AS TTFlights
FROM Flights
GROUP BY Flights.PilotID
ORDER BY Count(Flights.FlightCode) DESC;