oracle分组后伪列,Oracle伪列和伪表和分组函数(row_number,Rank)

oracle的伪列以及伪表

oracle系统为了实现完整的关系数据库功能,系统专门提供了一组成为伪列(Pseudocolumn)的数据库列,这些列不是在建立对象时由我们完成的,而是在我们建立时由Oracle完成的。Oracle目前有以下伪列:

一、伪列:

CURRVAL AND NEXTVAL 使用序列号的保留字

LEVEL 查询数据所对应的层级

ROWID 记录的唯一标识

ROWNUM 限制查询结果集的数量

Rowid的概念:rowid是一个伪列,既然是伪列,那么这个列就不是用户定义,而是系统自己给加上的。对每个表都有一个rowid的伪列,但是表中并不物理存储ROWID列的值。不过你可以像使用其它列那样使用它,但是不能删除改列,也不能对该列的值进行修改、插入。一旦一行数据插入数据库,则rowid在该行的生命周期内是唯一的,即即使该行产生行迁移,行的rowid也不会改变。

ROWNUM是一个序列,是oracle数据库从数据文件或缓冲区中读取数据的顺序。它取得第一条记录则rownum值为1,第二条为2,依次类推。如果你用>,>=,=,between...and这些条件,因为从缓冲区或数据文件中得到的第一条记录的rownum为1,则被删除,接着取下条,可是它的rownum还是1,又被删除,依次类推,便没有了数据。

二、伪表

DUAL 表

该表主要目的是为了保证在使用SELECT语句中的语句的完整性而提供的。

一般用于验证函数。例如:

select sysdate,to_char(sysdate,'yyyy-mm-dd HH24:mm:ss') from dual

oracle的几个伪列函数

ORACLE有几个函数专门用来产生伪列的,rownum,rowid,row_number(),rank,dense_rank,lan

1 Connect by 语句

该语句结合伪列rownum或level 可以产生一个结果集.

1. 基本用法:

产生1~~100之间的整数

Select rownum xh from dual connect by rownum<=100;

Select level xh from dual connect by level<=100;

2. 高级用法

2.1.产生所有汉字,汉字内码为:19968~~~40869之间

select t.* from(

select rownum xh,nchr(rownum) hz from dual

connect by rownum<65535

) t

where t.xh between 19968 and 40869

2 rownum按行的顺序自动增加产生

row_number() 给每个组内的不同记录进行排号(分组可不设)

select t.c_group,

t.c_code,

t.c_desc,

row_number() over(PARTITION BY c_group ORDER BY c_desc DESC) rn

from tp_dictionary t

where t.c_group in ('PPSJ001', 'PPSJ002');

0818b9ca8b590ca3270a3433284dd417.png

3 Rank() 按并列情况跨越排序

select t.c_group,

t.c_code,

t.c_desc,

Rank() over( ORDER BY c_code ) rn

from tp_dictionary t

where t.c_group in ('PPGL001', 'PPSJ002');

0818b9ca8b590ca3270a3433284dd417.png

4 Dense_Rank() 按并列情况排序,不跳跃

select t.c_group,

t.c_code,

t.c_desc,

Dense_rank() over( ORDER BY c_code ) rn

from tp_dictionary t

where t.c_group in ('PPGL001', 'PPSJ002');

0818b9ca8b590ca3270a3433284dd417.png

5 Lag对列进行偏移(下面是偏移2列)

select t.c_group,

t.c_code,

t.c_desc,

lag(c_code,2,null) over(PARTITION BY c_group ORDER

BY c_desc asc) rn

from tp_dictionary t

where t.c_group in ('PPGL001', 'PPSJ002');

0818b9ca8b590ca3270a3433284dd417.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/552506.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux运行搜狗拼音,Linux 搜狗输入法的安装(Ubuntu版)

1、首先从搜狗官网下载搜狗输入法Linux版本的安装包2、按ctrl alt T 打开Linux终端3、安装搜狗输入法&#xff1a; sudo dkpg -i xxx.deb, 如果报错&#xff0c;主要是由于两个原因&#xff1a;a、权限不够&#xff0c;可以通过获取root权限&#xff0c;命令‘su’&#xff1b;…

2023年腾讯云轻量应用服务器测评2核2G4M带宽

腾讯云轻量应用服务器测评2核2G4M带宽88元一年&#xff0c;2核CPU、2G内存、3M带宽&#xff0c;腾讯云轻量应用服务器&#xff08;Tencent Cloud Lighthouse&#xff09;是一款开箱即用的云服务器产品&#xff0c;面向轻量应用场景&#xff0c;旨在为中小企业和开发者提供便捷高…

linux tcp连接计算机,计算机基础知识——linux socket套接字tcp连接分析

2016.7.4今天晚上对项目顶层文件(daemon)进行了分析&#xff0c;对其中的TCP连接进行具体的代码级分析。1、需求分析首先得知道我们这里为什么要用TCP连接&#xff0c;我们的整个测试系统是由上位机作为客户端&#xff0c;发送测试文件&#xff0c;测试命令给我们测试程序上&am…

定时器驱动数码管c语言程序,74hc595驱动数码管时间程序

74hc595驱动数码管时间程序这里是电路图&#xff1a;下面是51单片机驱动74hc595芯片的程序&#xff1a;#include //包含51单片机的头文件#include#define uint unsigned int#define uchar unsigned char//sbit sin_595 P1^0;//sbit rclk_595 P…

石油大学c语言考试答案,中石油华东2012春《C语言》在线答案

)&#xff1b;! X" l4 d0 m5 T0 A 满分&#xff1a;2 分* }4 x X$ a& t, l% i3. 当对两个字符串进行比较时&#xff0c;应该使用的函数是A. strcat, y, Z- S p t! k! GB. strcmp2 } R% s8 P* Z/ yC. strcpy, i$ q. b5 P8 m j v1 k3 H2 W3 mD. strlen* I B S…

c语言中怎么暂停一个一个游戏,求助:最近在linux下用c语言写了一个贪吃蛇程序,有几个问题,第一:贪吃蛇怎么实现暂停,第二:有时候同时输入上下左右中的两个键就会直接游戏结束...

求助&#xff1a;最近在linux下用c语言写了一个贪吃蛇程序&#xff0c;有几个问题&#xff0c;第一&#xff1a;贪吃蛇怎么实现暂停&#xff0c;第二&#xff1a;有时候同时输入上下左右中的两个键就会直接游戏结束/*以下是主要的逻辑代码&#xff0c;还有些.c和.h就没发了*/#i…

android view显示隐藏动画效果,Android 根据手势顶部View自动展示与隐藏效果

首先来看一下效果&#xff1a;大体思路如下&#xff1a;总体布局用了一个自定义的ViewGroup&#xff0c;里面包了两个View(top View&#xff0c;bottomView)我在bottomView里放了ViewPager&#xff0c;里面又有Fragment&#xff0c;Fragment里放的是ListView原理&#xff1a;Vi…

android点击地址调用地图,Android 实现点击按钮 调用手机外部地图导航

//弹出Dialog 选择外部地图private void setMap(){final Dialog dianew AlertDialog.Builder(mContext).create();View viewLayoutInflater.from(mContext).inflate(R.layout.dialog_map, null);dia.show();dia.getWindow().setContentView(view);TextView tv_baidu(TextView) …

android webservices 返回多行多列数据,NoahWeb实现表格多行多列

用NoahWeb的表现层指令可以在动态生成的页面中非常容易的实现多行多列的表格。在正式学习以前我们需要先来了解一下怎么用NoahWeb的表现层来做动态内容显示。在NoahWeb设计器中新建或打开一项目以后&#xff0c;在Macromedia Dreamweaver MX 2004中新建了一个“空页面”&#x…

android程序 美食分享,下厨房Android产品分析

下厨房产品宣传图一、产品概况1、产品简介下厨房菜谱是一款简单实用的美食应用&#xff0c;可以帮助用户寻找想吃的美食&#xff0c;搜索精美食谱&#xff0c;使用购买清单选购食材&#xff0c;与朋友分享自己制作的美食。2、主要竞品美食杰、豆果美食、好豆菜谱、香哈菜谱。二…

html实现图片加载动画效果,HTML5+javascript实现图片加载进度动画效果

在网上找资料的时候&#xff0c;看到网上有图片加载进度的效果&#xff0c;手痒就自己也写了一个。图片加载完后&#xff0c;隐藏loading效果。想看加载效果&#xff0c;请ctrelF5强制刷新或者清理缓存。效果预览&#xff1a;0%代码如下&#xff1a;HTML5javascript实现图片加载…

html5开发app的缺点,全解HTML 5在移动Web应用的优劣势

关于HTML5HTML5具有语义学、本地存储、设备访问、连接性、多媒体、平面和三维效果、性能和集成和CSS3八大技术特征。让Web应用进入无插件时代&#xff0c;在功能和性能上逼近桌面应用。促使应用Web化&#xff0c;实现跨平台。HTML5规范草案将于2012年发布候选推荐版&#xff0c…

html怎么加断点快捷键,HTML添加断点 - osc_vyztkm1b的个人空间 - OSCHINA - 中文开源技术交流社区...

###1.前言 很多时候&#xff0c;页面的dom元素是动态添加的&#xff0c;而我们不知道具体是哪段js代码在操作这个dom元素&#xff0c;所以需要进行断点&#xff0c;对相应的dom元素进行断点监听&#xff0c;这样才能找出相关的js代码。在浏览器的调试工具中&#xff0c;切到ele…

html5 canvas 图像预览,html5-canvas 加载并显示图像

示例加载图像并将其放置在画布上var image new Image(); // 请参阅有关创建图像的注释image.src "imageURL";image.onload function(){ctx.drawImage(this,0,0);}创建图像有几种创建图像的方法new Image()document.createElement("img")作为HTML正文的…

html能插入背景的行级元素,Html元素类型:块级元素、行内元素(内联元素)和行内块级元素...

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;html中的标签元素大体被分为三种不同的类型&#xff1a;块级元素、内联元素(又叫行内元素)和内联块级元素。事实上&#xff0c;我以前用的时候只是建立在对它们的初…

fox pro删除单条数据_Mac文件夹数据同步工具——Sync Folders Pro

Mac版同步文件夹Pro&#xff08;文件夹数据同步工具&#xff09;分享给大家&#xff01;Mac版同步文件夹Pro是一种功能强大的文件夹数据同步工具&#xff0c;可帮助您同步两一个文件夹的内容&#xff0c;包括任何子文件夹。使用文件夹同步软件&#xff0c;允许您在任一方向或两…

bp神经网络预测未来五年数据_预测 | 未来五年以太网收发器出货将达2.75亿只

新闻导读LC最新预测表明&#xff0c;从2021年到2025年间&#xff0c;供应商将售出2.75亿只以太网收发器&#xff0c;为其带来240亿美元的收入。但由于激烈的竞争、电信和企业网络投资的放缓&#xff0c;以及中美敌对升级可能导致中国云数据中心升级的延迟&#xff0c;LC下调了未…

计算机知识竞赛决赛流程,计算机知识竞赛决赛圆满结束!还不快戳?!

原标题&#xff1a;计算机知识竞赛决赛圆满结束&#xff01;还不快戳&#xff1f;&#xff01;温 馨 提 示 &#xff1a;热烈庆祝&#xff1a;青海大学 “计算机知识竞赛”圆满结束&#xff01;计算机莅临本场比赛的嘉宾有&#xff1a;计算机协会指导老师&#xff1a;贾金芳老师…

开关造成的毛刺_玻璃面板开关钻孔加工

玻璃面板开关&#xff0c;也叫做钢化玻璃开关。与传统的面板开关不同在于它是用钢化玻璃制作而成&#xff0c;但是同样能够达到控制电路的作用&#xff0c;这种开关的设计理念是为了能够达到简约时尚的作用&#xff0c;同时也具有美观与安全性&#xff0c;可以说是受到许多家庭…

html播放rtsp流,浏览器播放rtsp视频流解决方案

最近项目中需要实时播放摄像头rtsp视频流&#xff0c;于是就专门做了些研究。而浏览器不能直接播放&#xff0c;只有通过插件或者转码来实现这个需求。要实现这个目的&#xff0c;可以采用的方案非常得多&#xff0c;有商业的也有开源的&#xff0c;这里主要列举一些开源的方案…