我有一个机场数据库:
我需要显示飞行次数最多的飞行员的飞行员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”作为聚合函数的一部分
答案 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;