热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oracle使用wm_concat进行分组拼接

oracle的wm_concat和mysql的group_concat类似,主要是先分组,然后将分组后输入同组的的内容用,拼接在一期例子:SELEC
oracle 的wm_concat 和mysql 的group_concat类似,主要是先分组,然后将分组后输入同组的的内容用","拼接在一期

例子:


SELECT a.period_id,wm_concat( b.activity_id) ACTIVITY_ID,wm_concat(a.lottery_number) LOTTERY_NUMBER,wm_concat(b.period_number) PERIOD_NUMBER,wm_concat(b.total_amount) COUNT,wm_concat(REPLACE(MOBILE, SUBSTR(a.mobile,4,4), '****')) MOBILE,wm_concat(TO_CHAR(b.open_time,'yyyy-mm-dd hh24:mi:ss') ) OPEN_TIME
FROM A5_PPS_SEIZE_LOTTERY a ,a5_pps_seize_activity_period b
WHERE a.period_id=b.period_id

那为什么我还wm_concat 那么多别的字段了?因为出来要返回period_id,mobile外,其他字段也需要返回,所有虽然拼接多了很多字段,但是有些自读是一样的,比如 ACTIVITY_ID等,这些自读返回后 用“,”切割成数组取出第一个就好了。

刚开始 使用ibatis映射时老是报错

Cause: com.ibatis.common.beans.ProbeException: There is no WRITEABLE property named 'ACTIVITY_ID)' in class 'java.lang.Object'

原始简化代码如下:

SELECT *
FROM(SELECT rownum rn,d.*FROM(SELECT a.period_id,wm_concat( b.activity_id)FROM A5_PPS_SEIZE_LOTTERY a ,a5_pps_seize_activity_period bWHERE a.period_id=b.period_idAND a.is_win     =1GROUP BY a.period_idORDER BY a.period_id DESC)d)
WHERE rn > 0
AND rn  <&#61; 10 

发来发现  wm_concat( b.activity_id)  后面要取个别名&#xff0c;才会不报上面那个映射错误&#xff0c;正确写法如下

SELECT *
FROM(SELECT rownum rn,d.*FROM(SELECT a.period_id,wm_concat( b.activity_id) activity_idFROM A5_PPS_SEIZE_LOTTERY a ,a5_pps_seize_activity_period bWHERE a.period_id&#61;b.period_idAND a.is_win &#61;1GROUP BY a.period_idORDER BY a.period_id DESC)d)
WHERE rn > 0
AND rn <&#61; 10










推荐阅读
  • Oracle 和 mysql的9点区别【MySQL】
    数据库|mysql教程oracle,Oracle,money,mysql,coun数据库-mysql教程1.组函数用法规则mysql中组函数在select语句中可以随意使用,但在o ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 正则表达式及其范例
    为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ... [详细]
  • Ihavebeenworkingwithbufferingafileonmylocaldrivetoparseandobtaincertaindata.Forte ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • 本文介绍了关于Java异常的八大常见问题,包括异常管理的最佳做法、在try块中定义的变量不能用于catch或finally的原因以及为什么Double.parseDouble(null)和Integer.parseInt(null)会抛出不同的异常。同时指出这些问题是由于不同的开发人员开发所导致的,不值得过多思考。 ... [详细]
  • Hello.js 是一个用于连接OAuth2服务的JavascriptRESTFULAPI库,如Go ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有