2013-12-12 144 views
1

我的问题是:列出所有工资高于平均工资的员工,并显示差异有多大。筛选并根据平均值计算

SELECT staffname 
FROM staff 
WHERE salary >= (SELECT Avg(salary) 
        FROM staff) 
     AND (SELECT Max(salary) AS Max_Salary, 
        Avg(salary) AS Avg_Salary 
      FROM staff 
      WHERE salary = max_salary - avg_salary) 

工资是高于平均工资是走出来就好了,但我不能拿出多少是不同的。

回答

2
SELECT staffname, staff.salary - avg.salary 
FROM staff, (SELECT AVG(salary) salary FROM staff) avg 
WHERE staff.salary > avg.salary 
+0

THANKYOU非常!!!!!!!!!! – user3093941

0
Select Count(*), (Select Avg(Salary) From Staff) 
From Staff 
Where Salary > (Select Avg(Salary) From Staff);