首页 > 其他分享 >行转列

行转列

时间:2023-12-05 14:13:39浏览次数:27  
标签:INSERT INTO 转列 Score VALUES Scores Subject

CREATE TABLE Scores (
StudentName VARCHAR(50),
Subject VARCHAR(50),
Score INT
);
INSERT INTO Scores VALUES ('张三', '语文', 90);
INSERT INTO Scores VALUES ('张三', '数学', 80);
INSERT INTO Scores VALUES ('张三', '英语', 70);
INSERT INTO Scores VALUES ('李四', '语文', 85);
INSERT INTO Scores VALUES ('李四', '数学', 75);
INSERT INTO Scores VALUES ('李四', '英语', 65);


SELECT *
FROM (
SELECT StudentName, Subject, Score
FROM Scores
) AS SourceTable
PIVOT (

--字段
AVG(Score)
FOR Subject IN ([语文], [数学], [英语])
) AS PivotTable;

标签:INSERT,INTO,转列,Score,VALUES,Scores,Subject
From: https://www.cnblogs.com/shexunyu/p/17877074.html

相关文章

  • sql server行转列问题
    主要应用case语句来解决行转列的问题行转列问题主要分为两类1)简单的行转列问题:示例表:id sid          course result1  2005001语文    80.02  2005001数学    90.03  2005001英语    80.04  2005002语文    56.05  2005......
  • Hive / ClickHouse 行转列函数 collect_set() / groupUniqArray() 入门
    Hive/ClickHouse行转列函数collect_set()/groupUniqArray()入门在数据处理和分析中,我们经常会遇到需要将一行数据转换为多列的情况。在Hive和ClickHouse中,可以使用collect_set()和groupUniqArray()函数来实现行转列操作。collect_set()1.功能说明collect_set()函......
  • sql server 行转列、列转行
    stuff()函数用于从源字符串中删除给定长度的字符序列,并从指定的起始索引插入给定的字符序列。STUFF(source_string,start,length,change_string) source_string:字符数据start:指定删除和插入的开始位置length:指定要删除的字符数change_string:替换start到......
  • Oracle中通过组内排序实现行转列(三)
    1纵表平铺1.1原数据 1.2平铺结果:每个班级按照年龄从小到大平铺为一行select*from(selectrt.class,row_number()over(partitionbyrt.classorderbyrt.age)row_num,rt.sno,rt.snamefromrank_tes......
  • Oracle中的行列转换-行转列
     --建立一张表createtablechengji(idNUMBER,nameVARCHAR2(20),courseVARCHAR2(20),scoreNUMBER);--导入数据insertintochengji(id,name,course,score)values(1,'张三','语文',67);insertintochengji(id,name,course,score)values(1,'张......
  • 直播平台源码,FlinkSQL实现行转列
    直播平台源码,FlinkSQL实现行转列1、使用UNNEST解析 select name,course,scorefromods_kafka_student_scores CROSSJOINUNNEST(`list`)ASt(course,score);select name,course,scorefromods_kafka_student_scores,UNNEST(`list`)ASt(course,score);select name......
  • oracle 去重函数(逗号分割后去重,行转列)
    createorreplacefunctionaaa_distinct(avarchar2)returnvarchar2asresultsvarchar2(2000):='';begin selectlistagg(CONTRACTNO_listagg,',')withingroup(orderbyCONTRACTNO_listagg)intoresultsfrom(selectdistinctsubs......
  • 018 学习笔记-- 实现二维表头统计(存储过程+游标+行转列+字符串截取)
    实现下图类似效果统计 数据库设计如下  存储过程如下所示:USE[DBTEST]GO/******Object:StoredProcedure[dbo].[GetData]ScriptDate:2023-09-0116:56:01******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERproc[dbo].[GetData]asdeclare......
  • oracle-行转列
    现有由多个诊断组成的字段,诊断个数不定,由英文逗号拼接。现需要将字段分解,每条诊断列为一行。转化前字段如下图:转化后字段如下图:SQL实现方法如下:selecta.id,substr(编码,instr(编码,',',1,levels.lvl)+1,instr(编码,',',1,levels.lvl+1)-(instr(编码,',',1,levels.lvl)+1)......
  • MysSQL 行转列以及列转行(学生的各科成绩,以及总分和平均分)
    一、行转列即将原本同一列下多行的不同内容作为多个字段,输出对应内容。1.建表语句--新建学生成绩表DROPTABLEIFEXISTStb_score;createtabletb_score(idint(11)notnullauto_increment,user_noVARCHAR(32)notnullcomment'学生工号',subject......