MySQL中的“一行转多行”通常指的是将一个表中的一行数据转换为多个行数据的过程。这种操作在数据处理和分析中非常常见,尤其是在需要对数据进行展开或透视时。
假设我们有一个包含学生信息和他们所选课程的表 student_courses
:
CREATE TABLE student_courses (
student_id INT,
course_name VARCHAR(100),
course_grade FLOAT
);
如果我们想将每个学生的所有课程展开为单独的行,可以使用以下查询:
SELECT student_id, course_name, course_grade
FROM student_courses;
如果我们想将每个学生的所有课程和成绩展开为一个长表,可以使用UNION ALL:
SELECT student_id, 'Math' AS course_name, math_grade AS course_grade
FROM students
UNION ALL
SELECT student_id, 'Science' AS course_name, science_grade AS course_grade
FROM students;
希望这些信息对你有所帮助!如果有更多具体的问题或需求,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云