首先让我们来看看这个神奇的函数wm_concat(列名),该函数可以把列值以","号分隔起来,并显示成一行,接下来上例子,看看这个神奇的函数如何应用

准备测试数据

SQL> create table test(id number,name varchar2(20));

SQL> insert into test values(1,'a');

SQL> insert into test values(1,'b');

SQL> insert into test values(1,'c');

SQL> insert into test values(2,'d');

SQL> insert into test values(2,'e');

SQL> commit;

效果1 : 行转列

SQL> select wm_concat(name) from test;

WM_CONCAT(NAME)

-------------------------------------------------------------------------

a,b,c,d,e

效果2: 把结果里的逗号替换成"|"

SQL> select replace(wm_concat(name),',','|') from test;

REPLACE(WM_CONCAT(NAME),',','|')

-----------------------------------------------------------------------

a|b|c|d|e

效果3:按ID分组合并name

SQL> select id,wm_concat(name) name from test group by id;

ID NAME

---------- ------------------------------

1 a,b,c

2 d,e

懒人扩展用法:

案例:我要写一个视图,类似"create or replace view as select 字段1,...字段50 from tablename" ,基表有50多个字段,要是靠手工写太麻烦了,有没有什么简便的方法? 当然有了,看我如果应用wm_concat来让这个需求变简单

SQL> select 'create or replace view as select '|| wm_concat(column_name) || ' from dept'from user_tab_columns where table_name='DEPT';

'CREATEORREPLACEVIEWASSELECT'||WM_CONCAT(COLUMN_NAME)||'FROMDEPT'

--------------------------------------------------------------------------------

create or replace view as select DEPTNO,DNAME,LOC from dept

转载于:https://blog.51cto.com/laoyao999/646870

SQL小技巧系列 --- 行转列合并相关推荐

  1. excel 2007 vba与宏完全剖析_Excel宏VBA小技巧系列 | 分段加合

    写在前面的话  知识产权算是一个盛产数据的行业.专利啊商标啊著作啊,都有著录项目.我们常说的专利分析.产业导航.企业导航.产业预警.竞争情报.技术综述.知识产权评议等等,常规操作之一就要先处理著录项目 ...

  2. Mysql 多行多列合并并排序(看到最后) GROUP_CONCAT()

    项目需要合并列,想用Mybatis查出来,Java遍历整合.想了想太耗时,不如一条sql来的痛快. 多行多列合并排序:实现逻辑 ,先合并列,并排序,然后合并所有行. group_concat()函数  ...

  3. MySQL 常见索引的使用场景与区别(SQL小技巧)

    作者:贺禧年_码农 blog.csdn.net/weixin_46163590/article/details/106047978 一.MySQL索引类型: MySql常见索引类型有:主键索引.唯一索 ...

  4. 每日一个 ChatGPT 使用小技巧系列之2 - 用 ChatGPT 研读 SAP ABAP BAPI 的实现源代码

    本系列之前的文章: 与其整天担心 AI 会取代程序员,不如先让 AI 帮助自己变得更强大 每日一个 ChatGPT 使用小技巧系列之1 - 给出提纲或者素材,让 ChatGPT 帮你写作 正好昨天有朋 ...

  5. mysql行转列sql函数_sql动态行转列的两种方法

    第一种方法: 代码如下: select *from ( select Url,case  when  Month=01 then  '1月' when  Month=02 then '2月' when ...

  6. GRIDVIEW多行多列合并单元格(合并列)

    GitHub项目地址:https://github.com/mingceng/merge-gridviewcell 去年的时候,我写了两篇文章:  GridView多行多列合并单元格(完整代码和例子) ...

  7. EXCEL常用小技巧系列01----排名

    EXCEL常用小技巧系列01----排名 在工作中,时常需要对数据进行各种方式的排名,以下总结几种常用的排名方式: 一:有相同数字时,显示同一排名且下一排名不连续 公式:=SUMPRODUCT((数据 ...

  8. DLA SQL技巧:行、列转换和JSON数据列展开

    1. 简介 在数据库SQL处理中,常常有行转列(Pivot)和列转行(Unpivot)的数据处理需求.本文以示例说明在Data Lake Analytics中,如何使用SQL的一些技巧,达到行转列(P ...

  9. sql left join 去重_混入了一些奇怪的东西?SQL小技巧之数据去重

    大家好,欢迎踏入野生程序猿的生存之道,我是你们的老朋友大猿猿! 今天聊聊数据库里怎样删除重复数据. "重复"的定义 首先咱先明确一下什么叫重复数据,比如你有个表,好比说学生表吧,这 ...

最新文章

  1. PHP空指针,PHP 5.3.7之前版本空指针引用拒绝服务漏洞
  2. instance-based与model-based 区别
  3. UE3 ExampleGame Android版无法运行解决方案
  4. 计算机网络-思维导图(5)传输层
  5. 微信小程序云开发如何--实现简单的增删改查
  6. 使用腾讯云发送短信API接口实现(完整流程)
  7. java web逻辑删除代码_MyBatis-Plus之逻辑删除的实现
  8. 信息学奥赛一本通(1213:八皇后问题)
  9. 【云计算平台】VMware搭建Centos 7虚拟机
  10. 像MIUI一样做Zabbix二次开发(5)——那些坑和优化方向
  11. engine.POST()处理POST请求
  12. OLTP在线事务处理
  13. python程序设计题库-知到智慧树_Python程序设计基础_完整免费答案
  14. django微信公众号开发入门详细指南
  15. 《鸟哥的Linux私房菜》Chapter6 20180806~20180810
  16. 整型与指针的相互转换(int-int*,long-long*)
  17. 2010一次意想不到的环球飞行
  18. oracle基础|oracle多表查询用法|什么是等值连接(inner join)|什么是不等值连接(between)|什么是左连接(left join)|什么是右连接(right join)
  19. 微信小程序上传图片至服务器Springboot接收格式的问题
  20. 《数据结构与算法》(十一)- 树、森林与二叉树的转换及哈夫曼树详解

热门文章

  1. 【GO语言】合理配置GOMAXPROCS提升一倍以上的性能
  2. /etc/issue、shutdown命令详解
  3. ELK 5.X版本遇到的坑
  4. Docker是个啥?
  5. 管理共享文件夹和使用FTP服务器
  6. 加载静态文件,父模板的继承和扩展(2017.11.3)
  7. Ubuntu16 安装Jira
  8. 我来谈谈PHP和JAVA在web开发上的的区别
  9. jQuery 3.1.1 官方下载地址
  10. Oracle内部错误:ORA-00600[2608]一例