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  <= 10 

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

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=b.period_idAND a.is_win     =1GROUP BY a.period_idORDER BY a.period_id DESC)d)
WHERE rn > 0
AND rn  <= 10 

oracle使用wm_concat 进行分组拼接相关推荐

  1. Oracle 分组拼接字符串

    oracle 根据分组拼接字符串,以指定分隔符分割,有两种方式 1)第一种方式,使用 listagg 函数 例子如下: select field1, field2, listagg(field,sep ...

  2. oracle vm concat指定分隔符,重写Oracle的wm_concat函数,自定义分隔符、排序

    oracle中,wm_concat函数是一个聚合函数,和mysql中的group_concat函数类似,不过group_concat函数比较强大,可以定义分隔符和排序,当然所谓强大是相对的,这里假使我 ...

  3. 数据库语句常见方法:(随机生成Id,结合CSAE...WHEN的使用,分组拼接字段数据

    随机生成ID/UUID 1.获取IDSELECT newid() 2.将UUID值中的-替换SELECT REPLACE( newid(), '-', '' ) 3.获取ID并转小写SELECT LO ...

  4. Oracle的wm_concat()函数与Mysql的group_concat()函数

    这两个函数的作用是相同的,它们的功能是:实现行转列功能,即将查询出的某一列值使用逗号进行隔开拼接,成为一条数据. 1.Oracle的wm_concat()函数 2.Mysql的group_concat ...

  5. Mybatis中(#{ })模糊查询like(使用oracle的concat函数嵌套拼接SQL)

    需求: 模糊查询需要左右各拼接一个'%',如:like %key% . 项目情况: mybatis中动态传参一般采用占位符#{key}.使用数据库:orecle. 错误的尝试: 尝试使用: like ...

  6. oracle不连续得时间如何分组,Oracle按不同时间分组统计的sql

    Oracle按不同时间分组统计的sql以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Oracle按不同时间分组统计的s ...

  7. Oracle中wm_concat函数报错解决方法

    Oracle中wm_concat函数报错解决方法 参考文章: (1)Oracle中wm_concat函数报错解决方法 (2)https://www.cnblogs.com/52net/archive/ ...

  8. oracle按层级分组,oracle按照指定列分组合计group by rollup()

    group by rollup() 按分组合计 select grouping(status),status,owner,object_type,count(*) from dba_objects w ...

  9. Oracle数据库wm_concat()函数的使用方法

    oracle数据库中wm_concat(column)函数使我们经常会使用到的,下面就教您如何使用oracle数据库wm_concat(column)函数实现字段合并 如: shopping: --- ...

最新文章

  1. java怎么清空表释放空间_Linux 删除文件未释放空间问题处理,下清空或删除大文件...
  2. 如何测试java支持的最大内存
  3. 树 森林 二叉树 遍历
  4. 一个例子理解什么是RPC?
  5. 记录一次网盘资源不给提取码的经历!另类编程思维,Python破之!
  6. CNNIC:中国网民规模超9亿,近6成学历为初中及以下
  7. 隐藏多行文本框的滚动条
  8. htaccess 是什么
  9. 人与人之间交往最重要的是什么?
  10. matlab 程序改写为 python 程序的方法
  11. 如何查看CSND私密文章
  12. 计算机跳过密码直接登录密码,win10免密码自动登录怎么设置_win10跳过密码直接登录电脑-win7之家...
  13. 5.0以上机器XPOSED框架安装流程
  14. 旺店通·企业奇门与金蝶云星空对接集成查询退货入库单打通销售退货新增
  15. 请问深圳的准生证在哪办理?
  16. 五大常用算法一(回溯,随机化,动态规划)
  17. 05- 线性回归算法 (LinearRegression) (算法)
  18. Proxy_代理模式
  19. 金蝶ERP供应链之采购管理
  20. 基于MATLAB GUI的魔方三维动态还原仿真程序

热门文章

  1. 一个实习生java面试过程班,秋招,实习,面试,offer之路
  2. tar解压包的时候出现错误 gzip: stdin: not in gzip format以及tar命令详解
  3. Hutool SoapClient 学习
  4. 浙大版《Python 程序设计》题目集 4~7章
  5. 痞子衡嵌入式:微控制器CPU性能测试基准(EEMBC-CoreMark)
  6. python 判断字符串是否是汉字,数字,英语或其他
  7. javascript实现一段文字展开、收起(默认收起)
  8. k-means算法实例(聚类分析)matlab实现
  9. CC3220学习笔记---中断
  10. 数据结构 排序 思考题4