您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页MySQL中关于将列值转换为列名

MySQL中关于将列值转换为列名

来源:爱go旅游网
MySQL中关于将列值转换为列名

我们有时候会有这种需求:

这种与列值相关的展⽰有时候⾮常具有数据的直观性,我将⽤⼀个⼩Demo来实现此类操作。

表结构

create table demo1(

sname varchar(20) not null comment '学员', course varchar(10) not null comment '科⽬', score float not null comment '成绩')

插⼊如下数据:snamecoursescore张三张三张三李四李四李四

语⽂数学英语语⽂数学英语

10090809070100

MySQL提供了条件分⽀语法(类似于if/else、case...)

语法:

1.case key when 条件 then 结果 when 条件 then 结果 …else key(默认为原来的)end2.if(作为列的字段 = '值', 要展⽰的数据字段,另外的值)上代码:

select sname '姓名',

max(if(course = '语⽂', score,0)) '语⽂',

avg(case course when '数学' then score end) '数学',max(if(course = '英语',score,0)) '英语' from demo1 group by sname;

执⾏结果:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务