博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谈谈Oracle关于row_number()分析函数用法
阅读量:4331 次
发布时间:2019-06-06

本文共 615 字,大约阅读时间需要 2 分钟。

首先我们先来建张表来

create table tangtest(    tang varchar2(30))

然后添加字段

首先我们先要求得到序号和tang字段

select rownum,tang from tangtestselect row_number() over(order by tang) xh,tang from tangtest

这两个都得到同样的结果

现在我们要得到如果tang这个字段重复我们就序号就标注为1、2、3,意思是就是如果a这个值有两个那么第一个就标注为1,第二个为2,b这个字段只有一个那么就标注为1

这个就用到row_number()中的那个分组内排序的的方法

select row_number() over(partition by tang order by tang) xh,tang from tangtest

得到结果集

下面还可以来延伸思路

Rank() 跳跃排序,意思就是有两个第2名接下来就是第四名

select rank() over(order by tang) xh,tang from tangtest

 

Dense_rank()  也是连续排序,有两个第二名时仍然跟着第三名。相比之下row_number是没有重复值的。

 

 

转载于:https://www.cnblogs.com/tangdengzhou/archive/2013/02/16/2913233.html

你可能感兴趣的文章
iphone移动端踩坑
查看>>
vs无法加载项目
查看>>
Beanutils基本用法
查看>>
玉伯的一道课后题题解(关于 IEEE 754 双精度浮点型精度损失)
查看>>
《BI那点儿事》数据流转换——百分比抽样、行抽样
查看>>
哈希(1) hash的基本知识回顾
查看>>
Leetcode 6——ZigZag Conversion
查看>>
dockerfile_nginx+PHP+mongo数据库_完美搭建
查看>>
Http协议的学习
查看>>
【转】轻松记住大端小端的含义(附对大端和小端的解释)
查看>>
设计模式那点事读书笔记(3)----建造者模式
查看>>
ActiveMQ学习笔记(1)----初识ActiveMQ
查看>>
Java与算法之(2) - 快速排序
查看>>
Windows之IOCP
查看>>
机器学习降维之主成分分析
查看>>
CTP2交易所成交回报
查看>>
WebSocket & websockets
查看>>
openssl 升级
查看>>
ASP.NET MVC:通过 FileResult 向 浏览器 发送文件
查看>>
CVE-2010-2883Adobe Reader和Acrobat CoolType.dll栈缓冲区溢出漏洞分析
查看>>