wm_concat在行转列的时候非常有用,但在行转列的过程中的排序问题常常难以控制。

可见下面例子:

准备测试表:

drop table t;

create table t (n number,m number);

insert into t values(1,1);

insert into t values(5,3);

insert into t values(3,3);

insert into t values(6,5);

insert into t values(7,2);

insert into t values(2,2);

insert into t values(0,1);

insert into t values(11,1);

insert into t values(15,3);

insert into t values(13,3);

insert into t values(16,5);

insert into t values(17,2);

insert into t values(12,2);

insert into t values(10,1);

commit;

SQL> select * from t order by 2,1;

N M

———- ———-

0 1

1 1

10 1

11 1

2 2

7 2

12 2

17 2

3 3

5 3

13 3

15 3

6 5

16 5

测试wm_concat后的顺序:

测试1:

SQL> select m,wm_concat(n) from t group by m;

M WM_CONCAT(N)

———- ——————————————————————————–

1 11,0,1,10

2 17,2,7,12

3 15,3,5,13

5 16,6

可见wm_concat后的顺序并没有按大->小,或小->大的顺序。

测试2:

–参考网上一些解决思路

SQL> select m,wm_concat(n)

2 from (select n,m from t order by m,n )

3 group by m;

M WM_CONCAT(N)

———- ——————————————————————————–

1 0,11,10,1

2 2,17,12,7

3 3,15,13,5

5 6,16

可见顺序问题还是没有解决

最终解决思路:

SQL> select m, max(r)

2 from (select m, wm_concat(n) over (partition by m order by n) r from t)

3 group by m ;

M MAX(R)

———- ——————————————————————————–

1 0,1,10,11

2 2,7,12,17

33,5,13,15

5 6,16

mysql wm_concat函数_wm_concat函数的排序问题相关推荐

  1. mysql中字符串拼接函数_MySQL 字符串连接CONCAT()函数

    MySQL字符串连接函数 使用方法: CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制字符 ...

  2. 常用MySQL函数存储过程_解析MySQL存储过程、常用函数代码

    mysql存储过程的概念: 存储在数据库当中可以执行特定工作(查询和更新)的一组SQL代码的程序段. mysql函数的概念: 函数是完成特定功能的SQL语句,函数分为内置函数和自定义函数(user-d ...

  3. oracle迁移mysql视图中函数问题,mysql中to_char自定义函数。

    迁移到mysql中会遇到函数迁移问题,我们可以自定义函数 DELIMITER $$ CREATE FUNCTION new_data_report.to_char(Intnumber int) RET ...

  4. mysql 时区与时间函数

    --在mysql中可以直接使用sleep()函数,sysdate函数返回的是执行到当前函数的时间,而now函数返回的是执行sql的时间 mysql> SELECT now(),SYSDATE() ...

  5. mysql存储过程与自定义函数

    2019独角兽企业重金招聘Python工程师标准>>> #mysql存储过程与自定义函数: delimiter $ 1.最简单的存储过程 create procedure test( ...

  6. MySQL 获得当前日期时间 函数

    MYSQL 获取当前日期及日期格式 获取系统日期: NOW() 格式化日期: DATE_FORMAT(date, format) 注: date:时间字段 format:日期格式 返回系统日期,输出 ...

  7. MYSQL数值运算符和函数用法

    mysql也有数值运算,那么列出常见的函数 ceil() div() floor() mod() power() round() truncate()等等,具体说说MYSQL数值运算符和函数用法. 1 ...

  8. Mysql日期时间Extract函数介绍

    MySQL日期时间Extract函数的优点在于可以选取日期时间的各个部分,从年一直到微秒,让我们对MySQL日期时间的处理更为轻松. MySQL 日期时间 Extract(选取)函数. 1. 选取日期 ...

  9. mysql function加速_MySQL - 函数(FUNCTION)

    about MySQL提供了丰富的内置函数自定义函数. 而我们也对这些函数有所了解,比如聚合函数. 本篇再来了解一些内置函数和自定义函数的编写. 写在前面的话:默认情况下,函数名称和其后的括号之间必须 ...

最新文章

  1. SpringCloud核心组件及其作用
  2. 透过国外初创公司看高精度地图难题
  3. 在Java中有类似.NET的NotImplementedException吗?
  4. djanjo 使用a标签跳转_django页面跳转怎么写
  5. 三菱d700变频器接线图_昆明市三菱恒压供水变频器接线图
  6. php绕后,php函数处理,绕来绕去?
  7. python使用集合实现筛选法求素数-python素数筛选法浅析
  8. excel range 判断日期型_EXCEL常用函数二
  9. Notepad++集成nasm编译器
  10. 数学一年级应用题_【专项练习】一年级下册数学100以内加减法应用题专项练习,附答案...
  11. Day2:认识html
  12. mysql根据各种条件统计_Mysql按条件计数多种实现方法解析
  13. 将HTML5封装成android应用APK文件的几种方法
  14. Android神兵利器之黄油刀的使用(ButterKnife)
  15. Codeforces Global Round 8
  16. 身份证号第18位(效验码)计算方法 用于检测身份证号是否正确
  17. Docker安装教程(超详细)
  18. 关于GPS坐标转换(一)
  19. 问题 K: 古罗马数字
  20. 探寻江南虞山之美 尽享与观致7的一场约会

热门文章

  1. Python 处理输入法字库(五笔极点字库转小鸭字库)
  2. android 清除数据 管理空间,Android中如何将清除数据变为管理空间,进行自定义数据清除...
  3. java web 文件上传_Javaweb学习笔记10—文件上传与下载
  4. java中3.14是什么符号_java中3.14f是什么意思 C++问题下列选项中属
  5. react阻止事件冒泡
  6. Revit建模|Revit风管怎么绘制?
  7. linux设备驱动归纳总结(一)内核的相关基础概念【转】
  8. C++ 标准库类型 string
  9. python的requests库发送携带上传文件的接口_python requests 库请求带有文件参数的接口实例...
  10. 『iOS开发』 —— UITextView实现信纸效果