mysql语句的列合并(CONCAT)、行转换为列的运用

1. 列合并

在study表中,将“term”列与“course”列合并展示(“语文(第一学期)”),study数据表格式如下:

mysql语句的列合并(CONCAT)、行转换为列的运用_第1张图片

列合并用CONCAT(str1,str2,...)函数,返回来自于参数连结的字符串如果任何参数是NULL,返回NULL,IFNULL(course,'') 是将course列中出现NULL时将NULL转化换为 '' 。转化语句如下:

mysql语句的列合并(CONCAT)、行转换为列的运用_第2张图片

结果如下:

mysql语句的列合并(CONCAT)、行转换为列的运用_第3张图片

2. 行转化为列

现在要将ctName列转化为行,grade列转化为行值,同时根据number分组,得到每一行展示一个学生各个课程的成绩(列名是课程名,行值是成绩),原表如下:

mysql语句的列合并(CONCAT)、行转换为列的运用_第4张图片

行转化列用MAX(CASE ctName WHEN '语文(第一学期)' THEN grade ELSE 0 END ) AS 'chinese1',“ctName”行名列 、“grade”行值列,语句如下:

mysql语句的列合并(CONCAT)、行转换为列的运用_第5张图片

结果如下:


你可能感兴趣的:(随心闲谈,SQL)