如何编写SQL输出指定格式结果及5人姓名与所有科目平均分
SQL问题解答
1. 输出包含Field1、Field2字段格式的SQL语句
由于无法查看结果格式图片,以下提供两种常见场景的实现方式:
- 从现有数据表中提取指定字段:
SELECT Field1, Field2 FROM your_target_table;
- 手动构造包含这两个字段的自定义结果集:
SELECT Field1, Field2 FROM ( VALUES ('值A', '值B'), ('值C', '值D') ) AS temp_table(Field1, Field2);
2. 列出5个人的姓名及所有科目的平均分
假设存在存储学生成绩的表student_scores(字段:name姓名、subject科目、score分数),分两步实现:
步骤1:创建临时表存储目标5人的成绩数据
CREATE TEMPORARY TABLE target_scores SELECT name, score FROM student_scores WHERE name IN ('张三', '李四', '王五', '赵六', '孙七'); -- 替换为实际5个姓名
步骤2:计算这5个人的所有科目平均分
SELECT name, AVG(score) AS 所有科目平均分 FROM target_scores GROUP BY name;
如果需要确保即使某学生无成绩也能显示(平均分设为0),可结合学生表students(字段:name)调整步骤:
替代步骤1:关联学生表获取目标5人
CREATE TEMPORARY TABLE target_students SELECT s.name, sc.score FROM students s LEFT JOIN student_scores sc ON s.name = sc.name WHERE s.name IN ('张三', '李四', '王五', '赵六', '孙七');
替代步骤2:计算平均分(含无成绩的学生)
SELECT name, COALESCE(AVG(score), 0) AS 所有科目平均分 FROM target_students GROUP BY name;
内容的提问来源于stack exchange,提问作者Myat Su
相关产品推荐
相关产品推荐

