MySQL 的行转列 小示例

    技术2023-08-11  103

    不管我们在平时的学习或工作中,难免会遇到行转列的数据操作,比如下面的这个例子:

    1、创建测试表

    drop table if exists stu_Score ; create table stu_Score(name varchar(10),course varchar(10),score int);

    2、插入测试数据

    -- 插入数据 insert into stu_Score values('Dina','Java',82); insert into stu_Score values('Dina','C#',93); insert into stu_Score values('Dina','Python',90); insert into stu_Score values('Paradox','Java',87); insert into stu_Score values('Paradox','C#',80); insert into stu_Score values('Paradox','Python',95); insert into stu_Score values('Augenstern','Java',93); insert into stu_Score values('Augenstern','C#',86); insert into stu_Score values('Augenstern','Python',90);

    3、看一下测试的数据

     4、行转列的实现(仅供参考)

    select * from stu_Score; select name, max(case when course = 'Java' then score else null end)java, max(case when course = 'C#' then score else null end)`C#`, max(case when course = 'Python' then score else null end)python from stu_Score group by name -- name 按Dina、Paradox 、Augenstern 的顺序输出 order by (case when name = 'Dina' then 1 when name = 'Paradox' then 2 when name = 'Augenstern' then 3 end);

    5、执行代码,可得到预期的结果

    希望对你有帮助!!! 

    若想了解 MySQL 的列转行 实现小示例,可点击 此处

    若想了解 MySQL 的行转列 与 列转行 的应用小示例,可点击 此处

    Processed: 0.010, SQL: 9