使用来自另一个 table 的子查询从 table 中删除
Delete from table using subquery from another table
Tables 我需要从学生 table 中删除所有在 exam_results table 上的正确答案低于平均百分比的学生。它必须使用子查询来完成。
到目前为止我已经尝试过:
DELETE FROM students
WHERE id IN (SELECT student_id FROM exam_results WHERE percentage < AVG(percentage));
这个returns:ERROR 1111: Invalid use of group function
为什么这是对群组功能的无效使用?
我错过了什么或有什么问题吗?
非常感谢任何帮助!谢谢!
您需要按如下方式找到sub-query
中的学生:
DELETE FROM students
WHERE id IN
(SELECT student_id
FROM exam_results
WHERE percentage < (select AVG(percentage) from exam_results);
您也可以使用 analytical function
但这取决于您的 MySql 版本。所以请标记您正在使用的数据库及其版本。
Tables 我需要从学生 table 中删除所有在 exam_results table 上的正确答案低于平均百分比的学生。它必须使用子查询来完成。
到目前为止我已经尝试过:
DELETE FROM students
WHERE id IN (SELECT student_id FROM exam_results WHERE percentage < AVG(percentage));
这个returns:ERROR 1111: Invalid use of group function
为什么这是对群组功能的无效使用? 我错过了什么或有什么问题吗?
非常感谢任何帮助!谢谢!
您需要按如下方式找到sub-query
中的学生:
DELETE FROM students
WHERE id IN
(SELECT student_id
FROM exam_results
WHERE percentage < (select AVG(percentage) from exam_results);
您也可以使用 analytical function
但这取决于您的 MySql 版本。所以请标记您正在使用的数据库及其版本。