ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
#### SQL语句查询结果由行变为列 ---------------------------------------SQL语句查询结果由行变为列------------------------------- --用SQL语句,把表中的数据由行变为列. --1.先建表. create table SCORETABLE(ID int not null primary key,NAME varchar(50),SUBJECT varchar(50),SCORE int null); --2.添加数据. insert into scoretable(ID, NAME, SUBJECT, SCORE) values(1, '张三', '语文', 70); insert into scoretable(ID, NAME, SUBJECT, SCORE) values(2, '张三', '数学', 85); insert into scoretable(ID, NAME, SUBJECT, SCORE) values(3, '张三', '外语', 75); --3.用SQL实现. select * from scoretable --结果: --ID 姓名 科目 分数 -- 1 张三 语文 65 -- 2 张三 数学 85 -- 3 张三 外语 75 select NAME as 姓名, sum(case SUBJECT when '语文' then SCORE else 0 end) as 语文, sum(case SUBJECT when '数学' then SCORE else 0 end) as 数学, sum(case SUBJECT when '外语' then SCORE else 0 end) as 外语 from SCORETABLE group by NAME --结果: --姓名 语文 数学 外语 --张三 65 85 75