oracle在group by时某列有多个值的拼接

 

最近编码过程中出现了group by后,某些列会有多个值,而我需要把这些多个值的列进行拼接的情况,和大家分享一下。

有如下表student:

我们希望以class分组,每组的信息平铺,效果如下

分组首先想到的肯定是group by:

select * from student s group by s.class;

我们会发现这样会报错,因为name和age有多个值,这个时候我们就可以使用wm_concat()方法来解决。

select wm_concat(s.name),wm_concat(s.age),s.class from student s gruop by s.class;

但是这个写法又出现了一个新的问题,你会发现name和age这列的结果是

只需要把wm_concat前面加一个to_char就好了,而且结果就是上面想要的结果。

select to_char(wm_concat(s.name)) as name,
to_char(wm_concat(s.age)) as age,
s.class
from student s
gruop by s.class;
---------------------
还有一个函数LISTAGG(‘参数一’,’参数二’),这个函数和wm_comcat的作用类似,第一个参数是字段,第二个参数是多个值之间的分隔符,但是用法有些不同,例子如下:

select listagg(s.name,'-')within group(order by class) as name,
to_char(wm_concat(s.age)),
s.class
from student s
gruop by s.class;
---------------------

来源:https://blog.csdn.net/yufeng1397/article/details/78672607

 

转载于:https://www.cnblogs.com/sandswitch/p/11124758.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/362105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Spring中使用Asciidoctor:使用Spring MVC渲染Asciidoc文档

Asciidoc是一种基于文本的文档格式,因此如果要将文档提交到版本控制系统中并跟踪不同版本之间的更改,它非常有用。 这使Asciidoc成为编写书籍,技术文档,常见问题解答或用户手册的理想工具。 创建Asciidoc文档后,很可能…

http强缓存在firefox和chrome之间的差异

最近回顾HTTP缓存知识的时候发现了一个问题,设置了强缓存和协商缓存的文件,点击浏览器的刷新按钮的时候在chrome和firefox中的表现不一样。具体表现为chrome走强缓存没有再次发起请求。firefox却在强缓存没有失效的情况下发了请求,返回了304走…

垃圾收集器–串行,并行,CMS,G1(以及Java 8中的新增功能)

4个Java垃圾收集器–错误的选择如何严重影响性能 在2014年,对于大多数开发人员来说,还有两件事仍然是个谜:垃圾收集和了解异性。 由于我对后者知之甚少,所以我认为我会对前者大吃一惊,特别是因为在该领域中&#xff0c…

基于webpack的react脚手架

一、前言:react的cli开发模式太过于简单,好多东西都要自己配置 二、这里有个简单的配置,可以直接上手开发(不熟悉webpack和npm的绕路),已经完成的配置如下 1:默认ejs模板 2:编译less、scss 3&#xff1…

不要错过使用jOOλ或jOOQ编写Java 8 SQL单行代码的机会

越来越多的人通过为他们的业务采用功能性编程来赶上我们平台的最新更新。 在Data Geekery ,我们将Java 8用于jOOQ集成测试,因为将新的Streams API与lambda表达式一起使用使生成临时测试数据变得非常容易。 但是, 我们并不认为JDK提供了尽可…

node实现简单的群体聊天工具

一、使用的node模块 1、express当做服务器 2、socket.io 前后通信的桥梁 3、opn默认打开浏览器的模块(本质上用不到) 难点:前后通信 源码地址:https://github.com/wjf444128852/SimpleChat 欢迎clone并运行、扩展改进、issues 二、基础样子&#…

使用Spring Security的多租户应用程序的无状态会话

从前, 我发表了一篇文章,解释了构建无状态会话的原理 。 巧合的是,我们再次针对多租户应用程序执行同一任务。 这次,我们将解决方案集成到Spring Security框架中,而不是自己构建身份验证机制。 本文将解释我们的方法和…

What?一个 Dubbo 服务启动要两个小时!

前言 前几天在测试环境碰到一个非常奇怪的与 dubbo 相关的问题,事后我在网上搜索了一圈并没有发现类似的帖子或文章,于是便有了这篇。 希望对还未碰到或正在碰到的朋友有所帮助。 现象 现象是这样的,有一天测试在测试环境重新部署一个 dubbo …

使用Project Lombok减少Java应用程序中的样板代码

对Java编程语言最常提出的批评之一是它需要大量的样板代码 。 对于简单的类尤其如此,该类只需要存储一些值就可以。 您需要这些值的getter和setter,也许您还需要一个构造函数,覆盖equals()和 hashcode(&am…

十六、CI框架之数据库操作get用法

一、使用数据库的Get方法读取内容,如下代码: 二、数据库如下: 二、效果如下: 转载于:https://www.cnblogs.com/tianpan2019/p/11141809.html

WCF系列(二) -- 使用配置文件构建和使用WCF服务

当然,配置一个ServiceHost除了上面说的完全使用代码的方式,更好的方式是使用配置文件,把一些可能需要修改的属性跟代码分离,放到配置文件中,这样可以提供服务配置的灵活性,也更容易维护。 看看前面那个不用…

如何使用github搭建个人博客

1、去github官网注册个人帐号:没有的:猛戳这里去注册,比如我的账户名:wjf444128852,我的已经汉化(可在github里搜索github如何汉化有插件) 2、点击仓库-新建,仓库名字必须是:你的github帐号.git…

Spring Boot和Spring Data REST –通过REST公开存储库

使用Spring Boot和Spring Data REST,通过REST公开Spring Data存储库非常容易。 使用最少的代码,您可以创建遵循HATEOAS原理的JPA实体的REST表示。 我决定重用Spring PetClinic的JPA实体(业务层)作为本文的基础。 应用基础 PetCli…

jQuery Ajax – Servlets集成:构建完整的应用程序

网上有很多教程,它们解释了有关使用servlet和JSP页面进行Java Web开发的一些知识,但是,我从来没有找到对于初学者来说足够简洁,简单的教程。 这样的教程应该解释创建一个简单的Web应用程序的整个过程,包括前端&#xf…

信息系统开发平台OpenExpressApp - 应用模型ApplicationModel

下图为OpenExpressApp的系统架构图,其中在应用模型是作为一种元数据贯穿于整个架构,应用模型运行在OpenExpressApp框架之上。应用模型是OEA的核心,理解好应用模型才能更好的使用OEA。 应用模型贯穿于整个架构层 模型关注what OEA希望从重复的…

关于页面布局间距使用的经验之谈

在页面布局的时候遇到一个问题在此记录。 有如下布局需求。页面上大多数都是这样的,一块一块从上到下排列。 块与块之间的间距需要固定由谁来负责。例如第一个块和第二个块之间的间距,就需要第二个块的margin-top完成,文字和第二个块之间的间…

canvas绘制经典折线图(一)

最终效果图如下&#xff1a; 实现步骤如下&#xff1a;注-引用了jQuery HTML代码 <!doctype html><html lang"en"><head><meta charset"UTF-8"><meta name"Generator" content"EditPlus"><meta nam…

win7笔记本为手机共享wifi

1、cmd netsh wlan set hostednetwork modeallow ssidyourname keyyourpassword 开启win7的虚拟wifi&#xff0c;让电脑变成无线路由器 这时&#xff0c;网络连接中会多出一个网卡为“Microsoft Virtual WiFi Miniport Adapter”的无线连接2。如果没有&#xff0c;需要更新无线…

createjs中shape的属性regX和regY

官方文档说regX和regY是图形与注册点的距离。 那么注册点是什么呢&#xff1f; 我理解注册点就是图形的x/y对应的点图形动效的原点就是注册点 如果修改图形的regX和regY值图形在画布上的位置是会被改变的&#xff0c;但是注册点其实并没有被改变。因为图形的x/y值并没有被改…

H3C 单区域OSPF配置示例二

转载于:https://www.cnblogs.com/fanweisheng/p/11163688.html