提薪后获得低于平均工资的员工

时间:2019-03-30 18:35:21

标签: mysql sql database select where-clause

即使获得了10%的加薪,我也需要获得低于平均工资400.00美元的雇员的全名,全名,工资。

我能够让薪水低于平均薪水的员工,但是不确定如何在加薪后让薪水低于400美元的员工。

我正在使用MySQL。谢谢。

select AVG(salary) from employee; #gives me the average salary
select Fname, Lname, Salary, 1.10*Salary as NewSalary
from employee; 
#gives me names, old salary and salary raised.

这给了我工资低于平均工资的员工:

select Fname, Lname, Salary
from employee
where Salary < (select AVG(salary) from employee);

我在想这样的事情,但这行不通;未知专栏新闻:

select Fname, Lname, Salary, 1.10*Salary as NewSalary
from employee
where NewSalary - (select AVG(salary) from employee) = 400 ;

3 个答案:

答案 0 :(得分:1)

您有一个正确的想法,就是不能像这样在editor.on("keyup", function (cm, event) { if (!cm.state.completionActive && event.keyCode != 13 && event.keyCode != 219) { CodeMirror.commands.autocomplete(cm, null, {completeSingle: false}); } }); 子句中使用别名。只需直接使用公式,就可以了。另外,您可能应该使用where,而不要使用<=

=

答案 1 :(得分:0)

选择Fname,Lname,Salary,1.10 * Salary作为NewSalary 来自员工 其中(((1.10 *薪水)-(从员工中选择AVG(薪水))))<= 400;

答案 2 :(得分:0)

您可以使用HAVING使用一条语句来完成此操作

select Fname, Lname, AVG(salary * 1.10)    
FROM employee
GROUP BY FNAME, LNAME 
HAVING (AVG(salary) * 1.10) = 400

但是我不明白表格中员工平均工资的概念。 您可能正在寻找一组员工的平均工资? 也许您正在存储薪水的历史价值,但是我再一次没有看到计算薪水平均值的目的。