加入收藏 | 设为首页 | 会员中心 | 我要投稿 广西网 (https://www.guangxiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

Oracle行转列操作

发布时间:2020-12-30 21:14:17 所属栏目:站长百科 来源:网络整理
导读:有时候我们在展示表中数据的时候,需要将行转为列来显示,如以下形式: 原表结构展示如下: --------------------------- 产品名称??? 销售额???? 季度 --------------------------- 奶酪????????? 50???? 第一季度 奶酪????????? 60???? 第二季度 啤酒?????

?二、插入基础数据

Oracle行转列操作

--插入如上所示的基础数据
insert into shopping values (1,‘苹果‘,2);
insert into shopping values (2,‘梨子‘,5);
insert into shopping values (1,‘西瓜‘,4);
insert into shopping values (3,‘葡萄‘,1);
insert into shopping values (3,‘香蕉‘,1);
insert into shopping values (1,‘橘子‘,3);

Oracle行转列操作

三、使用SQL语句转换

形式1:

--形式1的语句
select u_id,wmsys.wm_concat(goods) goods_sum,sum(num) total_num  from shopping   group by u_id;

形式2:

--形式2的语句
select u_id,wmsys.wm_concat(goods || ‘(‘ || num || ‘斤)‘ ) goods_sum,sum(num) total_num  from shopping  group by u_id;

说明:

Oracle中wm_concat(column)函数的使用:
wmsys用户的wm_concate函数
Oracle数据库中,使用wm_concat(column)函数,可以进行字段合并,Oracle中的wmsys.wm_concat主要实现行转列功能(说白了就是将查询的某一列值使用逗号进行隔开拼接,成为一条数据)。wmsys.wm_concat除了单独使用外还可以和over函数结合使用。

(编辑:广西网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!