mysql wm_concat函数_wm_concat函数的排序问题
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函数的排序问题相关推荐
- mysql中字符串拼接函数_MySQL 字符串连接CONCAT()函数
MySQL字符串连接函数 使用方法: CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制字符 ...
- 常用MySQL函数存储过程_解析MySQL存储过程、常用函数代码
mysql存储过程的概念: 存储在数据库当中可以执行特定工作(查询和更新)的一组SQL代码的程序段. mysql函数的概念: 函数是完成特定功能的SQL语句,函数分为内置函数和自定义函数(user-d ...
- oracle迁移mysql视图中函数问题,mysql中to_char自定义函数。
迁移到mysql中会遇到函数迁移问题,我们可以自定义函数 DELIMITER $$ CREATE FUNCTION new_data_report.to_char(Intnumber int) RET ...
- mysql 时区与时间函数
--在mysql中可以直接使用sleep()函数,sysdate函数返回的是执行到当前函数的时间,而now函数返回的是执行sql的时间 mysql> SELECT now(),SYSDATE() ...
- mysql存储过程与自定义函数
2019独角兽企业重金招聘Python工程师标准>>> #mysql存储过程与自定义函数: delimiter $ 1.最简单的存储过程 create procedure test( ...
- MySQL 获得当前日期时间 函数
MYSQL 获取当前日期及日期格式 获取系统日期: NOW() 格式化日期: DATE_FORMAT(date, format) 注: date:时间字段 format:日期格式 返回系统日期,输出 ...
- MYSQL数值运算符和函数用法
mysql也有数值运算,那么列出常见的函数 ceil() div() floor() mod() power() round() truncate()等等,具体说说MYSQL数值运算符和函数用法. 1 ...
- Mysql日期时间Extract函数介绍
MySQL日期时间Extract函数的优点在于可以选取日期时间的各个部分,从年一直到微秒,让我们对MySQL日期时间的处理更为轻松. MySQL 日期时间 Extract(选取)函数. 1. 选取日期 ...
- mysql function加速_MySQL - 函数(FUNCTION)
about MySQL提供了丰富的内置函数自定义函数. 而我们也对这些函数有所了解,比如聚合函数. 本篇再来了解一些内置函数和自定义函数的编写. 写在前面的话:默认情况下,函数名称和其后的括号之间必须 ...
最新文章
- SpringCloud核心组件及其作用
- 透过国外初创公司看高精度地图难题
- 在Java中有类似.NET的NotImplementedException吗?
- djanjo 使用a标签跳转_django页面跳转怎么写
- 三菱d700变频器接线图_昆明市三菱恒压供水变频器接线图
- php绕后,php函数处理,绕来绕去?
- python使用集合实现筛选法求素数-python素数筛选法浅析
- excel range 判断日期型_EXCEL常用函数二
- Notepad++集成nasm编译器
- 数学一年级应用题_【专项练习】一年级下册数学100以内加减法应用题专项练习,附答案...
- Day2:认识html
- mysql根据各种条件统计_Mysql按条件计数多种实现方法解析
- 将HTML5封装成android应用APK文件的几种方法
- Android神兵利器之黄油刀的使用(ButterKnife)
- Codeforces Global Round 8
- 身份证号第18位(效验码)计算方法 用于检测身份证号是否正确
- Docker安装教程(超详细)
- 关于GPS坐标转换(一)
- 问题 K: 古罗马数字
- 探寻江南虞山之美 尽享与观致7的一场约会
热门文章
- Python 处理输入法字库(五笔极点字库转小鸭字库)
- android 清除数据 管理空间,Android中如何将清除数据变为管理空间,进行自定义数据清除...
- java web 文件上传_Javaweb学习笔记10—文件上传与下载
- java中3.14是什么符号_java中3.14f是什么意思 C++问题下列选项中属
- react阻止事件冒泡
- Revit建模|Revit风管怎么绘制?
- linux设备驱动归纳总结(一)内核的相关基础概念【转】
- C++ 标准库类型 string
- python的requests库发送携带上传文件的接口_python requests 库请求带有文件参数的接口实例...
- 『iOS开发』 —— UITextView实现信纸效果