oracle中分析函数和集合运算的详解是什么_集合函数的概念

oracle中分析函数和集合运算的详解是什么_集合函数的概念一.分析函数 RANK 相同的值排名相同,排名跳跃 DENSE_RANK 相同的值排名相同,排名连续 ROW_NUMBER 返回连续的排名,无论值是否相等 下图为三种排名方式的举例 –以下三个分析…

Oracle中分析函数和集合运算的详解

一.分析函数

  1. RANK    相同的值排名相同,排名跳跃
  2. DENSE_RANK   相同的值排名相同,排名连续
  3. ROW_NUMBER   返回连续的排名,无论值是否相等

下图为三种排名方式的举例

oracle中分析函数和集合运算的详解是什么_集合函数的概念

–以下三个分析函数可以用于排名使用。

(1)RANK    相同的值排名相同,排名跳跃 (例如1,2,2,2,下一位就变5 是直接跳跃)
--需求:对T_ACCOUNT表的usenum字段进行排序,相同的值排名相同,排名跳跃
select rank() over(order by ac.usenum desc) ,ac.usenum from t_account ac;

代码100分

oracle中分析函数和集合运算的详解是什么_集合函数的概念

 

 

代码100分--(2)DENSE_RANK   相同的值排名相同,排名连续(相同的同名,不同的顺序排下去 1,2,2,3,3,4)
--需求:对T_ACCOUNT表的usenum字段进行排序,相同的值排名相同,排名连续

select dense_rank() over(order by ac.usenum desc),ac.usenum from t_account ac;

oracle中分析函数和集合运算的详解是什么_集合函数的概念

 

 

--(3)ROW_NUMBER   返回连续的排名,无论值是否相等 (直接排序顺序,1,2,3,4,5)

--需求:对T_ACCOUNT表的usenum字段进行排序,返回连续的排名,无论值是否相等
select row_number() over(order by ac.usenum desc),ac.usenum from t_account ac;



--用row_number()分析函数实现的分页查询相对三层嵌套子查询要简单的多(了解):
select * from (
select row_number() over(order by ac.usenum desc)rownumber,ac.usenum  from t_account ac
)where rownumber>10 and rownumber<=20;


 

oracle中分析函数和集合运算的详解是什么_集合函数的概念

 

 

 

二. 集合运算

集合运算:将两个结果集合并成一个结果集

–(一)什么是集合运算 : 将两个结果集合并成一个结果集

  • –UNION ALL(并集):不去重   返回各个查询的所有记录,包括重复记录。
  • –UNION(并集):去重     返回各个查询的所有记录,不包括重复记录。
  • –INTERSECT(交集):获得公共部分,返回两个查询共有的记录。
  • –MINUS(差集);第一条减去公共部分,返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录。
     

oracle中分析函数和集合运算的详解是什么_集合函数的概念

 

 

举例实用:

代码100分
--准备数据
--1.查询id小于7
select * from t_owners ow where ow.id<=7;


--2 查询iD 大于5
select * from t_owners ow where ow.id >=5;


--1.并集 ,允许重复  UNION ALL
select * from t_owners ow where ow.id<=7
union all
select * from t_owners ow where ow.id >=5;


--2.并集,去重  union 
select * from t_owners ow where ow.id<=7
union 
select * from t_owners ow where ow.id >=5;





--3.交集 , 共同部分 intersect
select * from t_owners ow where ow.id<=7
intersect
select * from t_owners ow where ow.id >=5;





--4.差集 ,第一条减去共同部分
select * from t_owners ow where ow.id<=7
minus
select * from t_owners ow where ow.id >=5;

 

注意点:集合运算,允许查不同的表,只要这两张表的字段数量和字段类型一致就OK了(不要求字段名一致)

 

 

 

 

 

看完恭喜你,又知道了一点点!!!

你知道的越多,不知道的越多! 

~感谢志同道合的你阅读,  你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8129.html

(0)
上一篇 2023-03-06
下一篇 2023-03-07

相关推荐

  • hive日期函数_hive 时间窗口函数近30天

    hive日期函数_hive 时间窗口函数近30天1、hive取得当前日期时间: — 1.1) 取得当前日期: — 1.2) 取得当前日期时间: select current_timestamp();

    2023-04-30
    142
  • Python注释的重要性

    Python注释的重要性Python注释是指在程序代码中,使用特定格式的注释语句对程序代码进行说明、解释和补充说明。在Python程序设计中,注释可适用于单行注释和多行注释两种情况。在单行注释中,使用#作为注释符号,而在多行注释中,使用”’ 及 ”’ 或者是 “”” 及 “””作为文本的边界符号。

    2024-05-27
    55
  • Python列表查找

    Python列表查找Python是一种广泛使用的高级编程语言,它广泛应用于Web开发、数据分析、机器学习等领域。Python内置了很多有用的数据类型,其中列表(List)是使用最广泛的一种。Python列表具有动态性和灵活性,可以存储不同类型的数据,并且可以进行复杂的操作。列表查找是Python编程中非常重要的一部分,本文将详细介绍Python中列表查找的各种方法。

    2024-06-17
    41
  • oracle使用expdp定时备份数据库「建议收藏」

    oracle使用expdp定时备份数据库「建议收藏」在测试环境中我们需要每天备份oracle中的数据,以便错误的操作、测试或者覆盖其中有价值的数据,暂时不考虑生产环境的全量增量备份策略,本文只是简单的oracle数据库使用expdp命令设置定时任务备份

    2023-02-06
    151
  • Python饼图实现:统计数据可视化

    Python饼图实现:统计数据可视化随着数据的快速增长,数据可视化也成为了数据分析的重要手段之一。Python作为一种强大的编程语言,在数据分析领域也有着十分广泛的应用。饼图是一种常见的数据可视化图表,通过饼图可以直观地展示数据集的组成部分占比,也方便读者对数据进行理解和分析。

    2024-05-14
    72
  • ElasticSearch 分词器,了解一下「建议收藏」

    ElasticSearch 分词器,了解一下「建议收藏」这篇文章主要来介绍下什么是 Analysis ,什么是分词器,以及 ElasticSearch 自带的分词器是怎么工作的,最后会介绍下中文分词是怎么做的。 首先来说下什么是 Analysis: 什么是

    2023-02-03
    162
  • python正则匹配列表中的任意一个_sql的正则表达式查询

    python正则匹配列表中的任意一个_sql的正则表达式查询
    概述 上一章 查询的过滤条件,我们了解了MySQL可以通过 like % 通配符来进行模糊匹配。同样的,它也支持其他正则表达式的匹配,我们在MySQL中使用…

    2023-04-06
    144
  • oracle数据库卸载deinstall_oracle还原dmp文件

    oracle数据库卸载deinstall_oracle还原dmp文件1、orcale 11g 安装 1.1 管理员运行setup.exe(没有安装包的下面群里联系我) 1.2不用接收更新 1.3选择第一个 1.4选择桌面类 1.5 我是默认的口令还是写一下 1.6 安

    2023-04-27
    169

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注