我有一张桌子,上面有工人及其工资。 我试算有多少工人的薪水高于平均水平 我知道如何显示平均值,我知道如何计算公司有多少工人 但是我没有回答这个问题。这是我尝试过的但出现错误:
SELECT COUNT(workers_id) FROM flight_company.workers
WHERE Salary > AVG(Salary);
我有一张桌子,上面有工人及其工资。 我试算有多少工人的薪水高于平均水平 我知道如何显示平均值,我知道如何计算公司有多少工人 但是我没有回答这个问题。这是我尝试过的但出现错误:
SELECT COUNT(workers_id) FROM flight_company.workers
WHERE Salary > AVG(Salary);
如果您正在运行MySQL 8.0,请使用窗口函数:
在早期版本中,一个选项是使用汇总查询进行联接:
您可以使用子查询:
You can do it with window function
avg()
(MySql 8.0+) and aggregation:这个为我工作
SELECT COUNT(workers_id) as Num_Above_Average FROM flight_company.workersWHERE Salary > (select avg(salary) from flight_company.workers)
如何将“平均工资”列添加到此?
谢谢