首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Oracle 数据库常见操作技巧

    Base_List中定义了表的列名,通过标签引入,实现了灵活的列定义复用。...二、数据查询操作 (一)内连接去重 内连接多个表并去重查询结果: SELECT DISTINCT r.id, r.parentId, r.resKey, r.resName, r.resType, r.component...去重条件是一个字段,显示是多个字段 根据指定字段去重并显示多个字段: SELECT * FROM (SELECT ID_, PROC_INST_ID_, TASK_DEF_KEY_, row_number() over...四、其他操作技巧 (一)获得最新数据 (根据指定字段排序并分组) 获取每个分组中最新的数据: SELECT FI.* FROM ( SELECT T.*, ROW_NUMBER ( ) OVER...(三)ORACLE 行数据逗号分割转列 将行数据中逗号分割的字符串转换为列: SELECT DISTINCT REGEXP_SUBSTR(MEMBERS, '[^,]+', 1, LEVEL, 'i')

    67110

    详述 SQL 中的 distinct 和 row_number() over() 的区别及用法

    第一种,在编写 select 语句的时候,添加 distinct 关键词; 第二种,在编写 select 语句的时候,调用 row_number() over() 函数。...从上面的结果可以看出,其在原表的基础上,多了一列标有数字排序的列。那么反过来分析咱们运行的 SQL 语句,发现其确实按字段 AGE 的值进行分组了,也按字段 NAME 的值进行排序啦!...那么试试看,运行如下 SQL 语句, /* * 其中 rn 表示最后添加的那一列 */ select * from (select PPPRDER.CESHIDEMO.*, row_number(...4 总结 通过阅读及实践以上内容,咱们已经知道了,无论是用关键字 distinct 还是用函数 row_number() over() 都可以实现数据“去重”的功能。...结束语:在本篇博文中,作者详述了自己对用关键字 distinct 和函数 row_number() over() 进行数据“去重”的一些认识,希望以上的内容能够对大家有所帮助!

    3K70

    Oracle列转行函数 Listagg() 语法详解及应用实例「建议收藏」

    说简单点,listagg()函数可以实现多列记录聚合为一条记录,从而实现数据的压缩、致密化(data densification)。...————————————————————————- 这是一个Oracle的列转行函数:LISTAGG() 先看示例代码: with temp as( select 'China' nation ,...同样是聚合函数,还有一个高级用法: 就是over(partition by XXX) 也就是说,在你不使用Group by语句时候,也可以使用LISTAGG函数: with temp as( select...(city,',') within GROUP (order by city) over (partition by nation) rank from temp 运行结果: 总结:LISTAGG...(last_name, ‘; ‘) WITHIN GROUP (ORDER BY hire_date, last_name) OVER (PARTITION BY department_id) as “

    24.9K10

    Oracle 19c 新特性:ANY_VALUE 函数和 LISTAGG 的增强

    在Oracle 19c中,一个新的函数 ANY_VALUE 被引入进来,这个函数的作用是基于ORDER BY定义返回每个组中的任何值,通过这一个函数,可以消除将每个列都指定为GROUP BY子句的一部分的必要性...Listagg 是 Oracle 11.2 中新增的函数,对于指定的度量,LISTAGG对ORDER BY子句中指定的每个组内的数据进行排序,然后连接度量列的值。...作为分析函数,LISTAGG根据query_partition_clause中的一个或多个表达式将查询结果集划分为组。 由于具有灵活的数据操作性,LISTAGG函数是行列转换的首选。...MANAGER SALES CLERK, MANAGER, SALESMAN, SALESMAN, SALESMAN, SALESMAN 在Oracle 19c中,这个函数向前迈进了一小步,支持 Distinct...关键字,可以通过加入这个关键字直接去除重复值,SQL 又向优雅迈进了一小步: select d.dname, listagg (DISTINCT e.job,', ')

    2.4K40

    详述 SQL 中的 distinct 和 row_number() over() 的区别及用法「建议收藏」

    第一种,在编写 select 语句的时候,添加 distinct 关键词; 第二种,在编写 select 语句的时候,调用 row_number() over() 函数。...) over(partition by age order by name desc) from PPPRDER.CESHIDEMO 得到的结果如下所示: 从上面的结果可以看出,其在原表的基础上,多了一列标有数字排序的列...那么试试看,运行如下 SQL 语句, /* * 其中 rn 表示最后添加的那一列 */ select * from (select PPPRDER.CESHIDEMO.*, row_number()...4 总结 通过阅读及实践以上内容,咱们已经知道了,无论是用关键字 distinct 还是用函数 row_number() over() 都可以实现数据“去重”的功能。...结束语:在本篇博文中,作者详述了自己对用关键字 distinct 和函数 row_number() over() 进行数据“去重”的一些认识,希望以上的内容能够对大家有所帮助!

    2.9K20

    Oracle连接字符串函数listagg()和wmsys.wm_concat()用法简介

    一、LISTAGG() 简介 介绍:其函数在Oracle 11g 版本中推出,对分组后的数据按照一定的排序进行字符串连接。...其中,“[,]”表示字符串连接的分隔符,如果选择使用[over (partition by )]则会使其变成分析函数; 用法1: SELECT aaa, listagg(bbb,',') within...aaa) over(partition by aaa) FROM table 二、wm_concat()简介 介绍:其函数在Oracle 10g推出,在10g版本中,返回字符串类型,在11g版本中返回...括号里面的参数是列,而且可以是多个列的集合,也就是说在括号里面可以自由地用‘||’合并字符串。...3.4、 LISTAGG()用法 select a,LISTAGG(b,',' ) within group(order by a) as bc from testagg group by a 1 B1

    5K20
    领券