首页 > 解决方案 > 不正确的命令(INSERT INTO ... SELECT with GROUP BY)

问题描述

我的在线课程的练习如下

这一次,大学需要每个科目的笔试和口试平均成绩列表(来自考试表)。

新表 report_average_scores 包含以下列:主题、avg_written_exam_score 和 avg_oral_exam_score(类型为 DECIMAL(4,2))。

帮助大学将数据插入到 report_average_scores 表中。

我已尝试按我应该的方式添加 GROUP BY,但我无法通过该部分。另外,我找不到小数点在哪里起作用。

INSERT INTO report_average_scores 
(
subject,
avg_written_exam_score,
avg_oral_exam_score
)
SELECT 
    subject,
    written_exam_score,
    oral_exam_score
FROM exam;

我希望输出能够批准代码,但我遇到了同样的错误。

标签: sql

解决方案


我是看错了还是你只需要平均?

SELECT 
    subject,
    AVG(written_exam_score),
    AVG(oral_exam_score)
FROM exam group by subject

推荐阅读