【DB2】DB2中rank(),dense_rank(),row_number()的用法
1.准备测试数据
DROP TABLE oliver_1;
CREATE TABLE oliver_1(CLASS_NO INT,CST_NAME VARCHAR(10),SUB_NO INT,SUB_NAME VARCHAR(20),SCORE int); INSERT INTO oliver_1 VALUES(1,'张三',30,'数学',89);
INSERT INTO oliver_1 VALUES(1,'王五',20,'语文',90);
INSERT INTO oliver_1 VALUES(1,'Siza',10,'英语',99);
INSERT INTO oliver_1 VALUES(1,'李八',10,'英语',86);
INSERT INTO oliver_1 VALUES(2,'Lisa',20,'语文',50);
INSERT INTO oliver_1 VALUES(2,'Jack',30,'数学',60);
2.详解rank(),dense_rank(),row_number()的用法
2.1 rank()用法
2.1.1不分组进行排序查询
SELECT rank() over(ORDER BY CLASS_NO,SUB_NO) num,a.* FROM oliver_1 a
查询结果如下:

2.1.2对CST_NO分组后查询
SELECT rank() over(PARTITION BY CLASS_NO ORDER BY CLASS_NO,SUB_NO) num,a.* FROM oliver_1 a
查询结果如下:

2.2dense_rank()的用法
SELECT dense_rank() over(ORDER BY CLASS_NO,SUB_NO) AS num,a.* FROM oliver_1 a
查询结果如下:

区别:dense_rank()的查询与行号没关系,但是rank()的查询与行号相关的。
2.3row_number()的用法
SELECT row_number() over(ORDER BY CLASS_NO,SUB_NO),a.* FROM oliver_1 a
查询结果如下:

【DB2】DB2中rank(),dense_rank(),row_number()的用法的更多相关文章
- Oracle分析函数 — rank, dense_rank, row_number用法
本文通过例子演示了Oracle分析函数 —— rank, dense_rank, row_number的用法. //首先建score表 create table score( course nva ...
- [转]oracle分析函数Rank, Dense_rank, row_number
oracle分析函数Rank, Dense_rank, row_number 分析函数2(Rank, Dense_rank, row_number) 目录 ==================== ...
- rank,dense_rank,row_number使用和区别
rank,dense_rank,row_number区别 一:语法(用法): rank() over([partition by col1] order by col2) dense ...
- oracle分析函数Rank, Dense_rank, row_number
http://www.cnblogs.com/wuyisky/archive/2010/02/24/oracle_rank.html 目录=============================== ...
- Oracle 的开窗函数 rank,dense_rank,row_number
1.开窗函数和分组函数的区别 分组函数是指按照某列或者某些列分组后进行某种计算,比如计数,求和等聚合函数进行计算. 开窗函数是指基于某列或某些列让数据有序,数据行数和原始数据数相同,依然能曾现个体数据 ...
- oracle sql rank dense_rank row_number fisrt last
測試表emp
- [z]一个SQL语句分清楚RANK(),DENSE_RANK(),ROW_NUMBER()三个排序的不同
转自:http://blog.csdn.net/s630730701/article/details/51902762 在SCOTT用户下,执行下面SQL; SELECT s.deptno,s.ena ...
- rank() | dense_rank() | row_number() over(PARTITION BY sex order by age desc ) 的区别
1.row_num() over()函数:根据某个字段排序后编号1,2,3.. select *,ROW_NUMBER() over ( order by majorid) as numfrom St ...
- Oracle函数over(),rank()over()作用及用法--分区(分组)求和& 不连续/连续排名
(1) 函数: over()的作用及用法: -- 分区(分组)求和. RANK ( ) OVER ( [query_partition_clause] order_by_clause )D ...
随机推荐
- React入门 (2)—实现微博展示列表
前言 如果从来不了解React先看前篇React入门 (1)-使用指南(包括ES5和ES6对比). 本文为了能将前篇学到的react知识学以致用,做了一个类似微博展示列表的demo.使用的是ES6+R ...
- [libgdx游戏开发教程]使用Libgdx进行游戏开发(8)-粒子系统
没有美工的程序员,能够依赖的还有粒子系统. 这一章我们将使用libGDX的粒子系统线性插值以及其他的方法来增加一些特效. 你也可以使用自己编辑的粒子效果,比如这个粒子文件dust:http://fil ...
- [转]python dubbo接口测试
转自:https://www.cnblogs.com/chunyanxu/p/8732734.html 会吐泡泡的鱼 博客园 首页 新闻 新随笔 联系 管理 订阅 随笔- 57 文章- 0 评论- ...
- (1)Python 安装使用IDLE
安装 官网 https://www.python.org/ Windows x86 web-based installer 在线安装 Windows x86 executable installer ...
- java中的3大特性之多态
一.多态:一个对象具有多种表现形态(父类的引用类型变量指向了子类的对象) 二.多态的满足条件:1.必须要有继承关系2.必须要有方法的重写 三.int[]a; //a引用类型变量-->//引用in ...
- c++ primer敲代码第二章
今天越来越发现 学习一门编程语言,没有大量的code实践是不行的.看得快忘得更快.痛下决心,把primer的code习题一一实现. 习题2.11 底数和指数,求结果 #include <iost ...
- error和exception的区别
------解决方法--------------------------------------------------------了解异常与错误的区别,并且知道当你截获一个异常时,应该怎么办. ...
- 【kmp算法】模板
void GetFail(char P[],int __next[])//__next[i]表示s[0]~s[i-1]的前缀中,最大长度相等的前后缀是多少 { __next[0]=-1; int le ...
- python3开发进阶-Django视图(View)的常见用法
阅读目录 简述Django的View(视图) CBV和FBV Request对象和Response对象 Django组件(render,redirect)详解 一.简述Django的View(视图) ...
- Problem V: 零起点学算法20——输出特殊值II
#include<stdio.h> int main() { printf("\\n"); ; }