现mysql中有一张表php_user表,表结构为: 表中数据有: 现在想查询出来不同学生的语数外成绩在一行显示,那么需要用到行转列的用法, 一、行转列 1、使用case...when....then 进行行转列MAX(case when 条件 then 列内容 else 不匹配时显示内容 end) ...
分类:
数据库 时间:
2018-12-10 11:37:51
阅读次数:
149
SET @EE='';SELECT @EE:=GROUP_CONCAT(@EE,'sum(if(val=\'',val,'\'',',id,0)) as ','''',val,'''') from (select DISTINCT val from hl_test)a;SET @str=CONCAT ...
分类:
数据库 时间:
2018-12-09 16:36:34
阅读次数:
159
行转列我会了就不写了。 下面是列转行: 结果 : ...
分类:
数据库 时间:
2018-11-29 20:10:05
阅读次数:
144
在做数据统计的时候,行转列,列转行是经常碰到的问题。case when方式太麻烦了,而且可扩展性不强,可以使用 PIVOT,UNPIVOT比较快速实现行转列,列转行,而且可扩展性强 一、行转列 1、测试数据准备 2、行转列sql 执行结果: 二、列转行 1、测试数据准备 2、列转行的sql 执行结果 ...
分类:
数据库 时间:
2018-11-20 15:02:52
阅读次数:
213
1、行转列 微软官方的图: 方法二 -- 行转列 DROP TABLE studentB; CREATE TABLE studentB (姓名 varchar(10),语文 varchar(10),数学 varchar(10),物理 varchar(10)); INSERT INTO student ...
分类:
数据库 时间:
2018-11-15 18:22:26
阅读次数:
602
图一: 图二: 图一转图二: 图二转图一: Name Course Score Zhangsan Chinese 85 Zhangsan Maths 76 Zhangsan English 80 Lisi Chinese 82 Lisi Maths 90 Lisi English 55 ...
分类:
其他好文 时间:
2018-11-14 11:00:25
阅读次数:
140
最近在维护一个项目,出现了一下bug需要进行调试,于是把正式库上面的代码搬到本地库上面,数据库是本地的,跑项目的时候调试发现代码里面带有wmsys.wm_concat函数的SQL语句出现错误,经排查发现本地测试库用的是oracle 11g版本,比正式库上的版本高,解决方式这分享给大家: wmsys. ...
分类:
数据库 时间:
2018-11-08 10:56:24
阅读次数:
173
1. 列转行 使用Oracle提供的功能函数,wm_concat, 但要注意,使用该函数转换出来的值是blob类型,需要手动转换成char类型; 代码如下: 2. 行转列 Oracle本身没有提供行转列功能,需要自己实现,下面是解析使用逗号隔开的字符串转换成列的示例: ...
分类:
数据库 时间:
2018-11-07 22:11:36
阅读次数:
306
结果图 最后拼接完成,并执行的SQL语句: ...
分类:
数据库 时间:
2018-10-30 14:42:20
阅读次数:
190