2010-02-02 80 views

回答

1

將這個做的伎倆工作?

select top 1 id, name, avg (salary) 
from instructor 
group by id, name 
order by avg (salary) desc 
+0

號我可以用得到所有部門的的平均值: 選擇DEPT_NAME,AVG(工資) 從講師 組由DEPT_NAME 但我無法從中選擇最高的平均工資部門。 – Doug 2010-02-02 15:41:15

+0

你可以通過「desc avg(工資)限制1」來查看最高。從講師 組由DEPT_NAME 爲了通過AVG(工資)遞減限制1 – Don 2010-02-02 15:46:40

+0

選擇DEPT_NAME 給我一個錯誤「SQL命令不能正確地結束」 – Doug 2010-02-02 15:52:43

3

貌似爲HAVING條款

+0

東西沿着線: 具有平均(工資)> ? – Doug 2010-02-02 15:46:40

0

鑑於功課標籤,我不會拼出來給你,但你要考慮的AVG功能和GROUP BY條款。

+1

這確實是家庭作業,我沒有把它標記爲這樣的錯誤,但我一直在努力研究它,並且無法想象它。 – Doug 2010-02-02 15:37:22

0
select top 1 dept_name, avg(salary) as AvgSalary 
from instructor 
group by dept_name 
order by AvgSalary desc 
0

如果兩個部門的平均工資相同,這將使您得到兩個部分,如果不需要,則使用rownum = 1。

with averages as (select dept_name,avg(salary) aver from instructor group by dept_name) select dept_name from averages where aver = (select max(aver) from averages)