问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql怎样实现行转列

发布网友 发布时间:2022-04-22 08:00

我来回答

2个回答

懂视网 时间:2022-04-30 04:14

oracle数据库当中的一些便捷函数进行处理,比如”pivot”。那么,在Mysql环境下如何处理?

自己举了个小例子:

                   技术分享

sql代码实现:

 1 -- Step1:建表并插入数据
 2 
 3 -- Step2:中间转换,即“二维转一维”得到一维表。
 4 
 5 -- Step3:利用IF判断并“group by”即可得到目标结果表。
 6 
 7 
 8 
 9 -- 加载
10 
11 use test;
12 
13 create table score (
14 
15 name varchar(11),
16 
17 Math int,
18 
19 English int
20 
21 );
22 
23 insert into score values(‘甲‘,89,78);
24 
25 insert into score values(‘乙‘,77,81);
26 
27 insert into score values(‘丙‘,87,98);
28 
29 
30 
31 -- 查询生成目标表
32 
33 SELECT
34 
35 c2 AS ‘课程‘,
36 
37 SUM(IF(c1=‘甲‘,c3,0)) AS ‘甲‘,
38 
39 SUM(IF(c1=‘乙‘,c3,0)) AS ‘乙‘,
40 
41 SUM(IF(c1=‘丙‘,c3,0)) AS ‘丙‘ from(
42 
43 select name as c1,‘Math‘ as c2,Math as c3 from score group by name
44 
45 Union 
46 
47 select name,‘English‘ as c2,English from score group by name
48 
49 ) AS tx group by c2;
50 
51 
52 

 

结语:

   目前为止,个人尚未发现Mysql当中存在可以便捷将表格行列快速转换的函数。以上只是个人的一点小尝试,欢迎有更好解法的朋友批评指正!

 

Mysql实现行列转换

标签:

热心网友 时间:2022-04-30 01:22

就是一个动态的行列转换

CREATE TABLE `c_wssb_zz` (
`aa011` varchar(10) default NULL,
`aa001` varchar(20) default NULL,
`aa014` varchar(20) default NULL,
`aa015` varchar(200) default NULL,
`aab001` varchar(20) default NULL,
`aa010` varchar(30) default NULL,
`aae216` date default NULL,
`aa013` varchar(3) default NULL,
`aa016` varchar(10) default NULL,
`aae218` date default NULL,
`aab034` varchar(20) default NULL,
`aab901` varchar(255) default NULL
)

加入这是要转换的表,表名不确定,作为一个参数, aab001、AA011这两个也不确定,也是参数,显示的结果把AA014这一列的内容横过来内容,对应AA015, 最后形成的数据格式如下
AAB034,AA011,AA001,AAB001,max(case when aa014='col1' then aa015 else '' end)as col1,max(case when aa014='col2' then aa015 else '' end)as col2,....max(case when aa014='colN' then aa015 else '' end)as colN,AAE216,AAE218,AA013,AA016
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...眼睛到了下午就模糊不清,两边眼角发红,有点干涩。吃什么药好呢?_百... 饿了么外卖能删除差评吗 聚酯纤维西服可以手洗吗 聚酯纤维西服多少钱 聚酯纤维81.1%粘纤18.9%的西服。这样的西服比纯羊毛的西服有什么优劣... 成语:四海为家什么意思?有什么样典故及故事? 公司电脑需要管理员账号才能安装公司电脑安装软件需要管理员权限怎么... 中控指纹考勤机TF1500管理员走了,现在设备总提示需要管理员确认,请问怎 ... 贪污受贿多少金额可以入刑 苏皇白术薏仁胶囊能减肥吗 mysql将一行转成一列怎么实现? mysql中列转行,并多个字段转到一行中的一个字段上... 用ps怎么快速制作一个立体的圆环 mysql 中怎么把一列多行变成一行多列 mysql,将全表相同id的两行记录转换为一行 mysql 查询多条转为一条 mysql如何将多行数据合并成一行 纯白户怎么贷款 申请办理ISO9001质量管理体系认证要什么条件 ISO体系认证如何办理 申请ISO9001要什么流程 纯白户贷款如何能成功 如何办理ISO9001认证? 流程?去哪里办理? 花呗为什么无法使用了怎么恢复 纯白户有营业执照可以去银行贷款吗 花呗怎么恢复正常使用花呗 为什么花呗关上就开不了了 类型:木马-virus.ini.autorun.pif 描述:木马是一种伪装成正常文件的恶意软件 花呗被暂停使用是为什么?之前开通了一下关闭了 后... 越剧贾宝玉哭灵之二贾宝玉与紫鹃对唱 PS 高手请进! 用PS 怎么做出立体环形!!急!!在... PHP如何把MySQL数据库里的多行数据,转变成字符串... PS怎么画立体圆环 Mysql行列转换 ps 如何做出环形 mysql 多列转多行 mysql 数据库 把一个表的每3行里同一个项目,变成... mysql 行列转换怎么写? ps圆环怎么做 MySql 列转行 行转列 mysql行转列的问题,但是不是并接? PS怎么画立体圆环,要具体步骤 mysql 行列转换问题~ 用PS怎么做立体圆形 mysql 行转列,并取最新时间的数据 ps怎么选择圆环 mysql中某个字段的信息有换行要怎么插入? iphone4如何设置彩信 SQL数据库 怎么将一行数据变成多行? 苹果4手机如何设置彩信