mysql - 如何从给定的表中删除那些教师工资低于相应部门平均工资的元组?

标签 mysql sql datatable

表架构如图所示:

INSTRUCTOR
__________
ID primary key,
salary,
dept_name

我想删除工资低于相应部门平均水平的元组。如何用SQL实现这个查询?

最佳答案

你可以这样尝试

首先获取各部门薪资低于平均水平的通讯员ID

 Select ID from INSTRUCTOR a 
 Join 
 (Select dept_name, AVG(salary) avg_salary from INSTRUCTOR Group By dept_name) b 
 on a.dept_name = b.dept_name
 Where a.salary < b.avg_salary)

然后您可以通过添加另一个子查询来删除它们

Delete From INSTRUCTOR Where ID In(
//Query Above//)

关于mysql - 如何从给定的表中删除那些教师工资低于相应部门平均工资的元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48273644/

相关文章:

c# - Crystal 报表错误。打开连接失败

sql - 将 rownum 与预排序结果一起使用是否良好,还是应该使用rank?

html - 数据表无法在移动设备上使用

c# - 分组和求和数据表

PHPUnit_Extensions_Database_Testcase 返回未定义的方法

php从两个数组创建html表,mysql查询产生额外的单元格

mysql - LOAD DATA INFILE 字段终止于

mysql - 从具有双分组依据的查询中获取 0 的计数

sql - 将数组插入到sql server表中

c# - 从azure存储异步下载blob并将其保存在DataTable中