SQL 获取 COLUMN1,MAX(AVG) 作为 COLUMN2

SQL GET COLUMN1,MAX(AVG) as COLUMN2

这是我的 table :

ID  NAME        FNAME      CITY     SALARY
-----------------------------------------
1   Delicat     Antoine    Paris    21000
2   Rabago      Sylvain    Toulouse 21000
3   Dupont      Patrick    Nice     18000
4   Aristides   Hector     Paris    17000
5   Ramaji      Jordan     Toulouse 19000
6   Droda       Erika      Paris    18000
7   Pernelle    Emilie     Nice     17000
8   Laourd      Raoul      Lyon     15000
9   Alesi       Jean       Nice     18000
10  Straud      Amandine   Paris    20000

我需要显示平均工资最高的城市。 我可以显示每个城市的 AVG :

SELECT CITY, AVG(SALARY) as avg_salary
FROM PILOTE
GROUP BY CITY
CITY     avg_salary
-----------------
Lyon        15000
Nice        17666
Paris       19000
Toulouse    20000

而且我可以显示最高平均工资:

SELECT MAX(AVG_SALARY) as MAX
FROM (SELECT CITY, AVG(SALARY) as AVG_SALARY
FROM PILOTE
GROUP BY CITY ) as tmp
MAX
------
20000

但我需要显示最高平均工资和城市,但我不知道该怎么做。

提前致谢。

使用 TOP 1Order by 得到 Citymax 平均值 Salary

SELECT TOP 1 CITY, AVG(SALARY) as AVG_SALARY
FROM PILOTE
GROUP BY CITY
ORDER BY AVG_SALARY DESC

或使用Row_numberwindow函数

select CITY,AVG_SALARY
(
SELECT Row_number()over(order by AVG(SALARY) Desc) as RN,CITY, AVG(SALARY) as avg_salary
FROM PILOTE
GROUP BY CITY
) A
Where RN =1