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 1
和 Order by
得到 City
和 max
平均值 Salary
SELECT TOP 1 CITY, AVG(SALARY) as AVG_SALARY
FROM PILOTE
GROUP BY CITY
ORDER BY AVG_SALARY DESC
或使用Row_number
window函数
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
这是我的 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 1
和 Order by
得到 City
和 max
平均值 Salary
SELECT TOP 1 CITY, AVG(SALARY) as AVG_SALARY
FROM PILOTE
GROUP BY CITY
ORDER BY AVG_SALARY DESC
或使用Row_number
window函数
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