rank()排名

partition by分组与group by相比各有优势,在这里就省略100字。。。。

以下为案例:

create table student -- 学生表
(
sid integer primary key,-- ID
sname nvarchar2(100),-- 姓名
sex nvarchar2(50),-- 性别
age integer,-- 年龄
address nvarchar2(200) -- 住址
);
insert into student values(8001,'张三','男',20,'湖北武汉');
insert into student values(8002,'李四','女',21,'湖北襄阳');
insert into student values(8003,'王五','女',21,'湖北襄阳');
insert into student values(8004,'赵六','男',22,'湖北襄阳');
insert into student values(8005,'孙琦','女',19,'湖北襄阳');
insert into student values(8006,'克鲁斯','女',19,'湖北襄阳');
insert into student values(8007,'丝路币','男',19,'湖北襄阳');
insert into student values(8008,'史酷比','男',23,'湖北襄阳');
insert into student values(8009,'库哈斯','男',20,'湖北襄阳');
insert into student values(8010,'罗欧克','女',19,'湖北襄阳');

create table workinfo
(
wid integer primary key,
sid integer ,
CONSTRAINT sid foreign key(sid) references student(sid),
city nvarchar2(100),-- 就业城市
wage number(10,2),-- 月薪
workdate date,-- 就业时间
eid integer ,
CONSTRAINT eid foreign key(eid) references Emp(eid)-- 介绍人
);

insert into workinfo values(1001,8001,'上海',5000,to_date('2009-3-5','yyyy-MM-dd'),6005);
insert into workinfo values(1002,8002,'上海',4500,to_date('2010-3-5','yyyy-MM-dd'),6005);
insert into workinfo values(1003,8005,'上海',5500,to_date('2009-3-5','yyyy-MM-dd'),6005);
insert into workinfo values(1004,8003,'杭州',4000,to_date('2009-12-5','yyyy-MM-dd'),6006);
insert into workinfo values(1005,8004,'杭州',4500,to_date('2007-12-5','yyyy-MM-dd'),6006);
insert into workinfo values(1006,8006,'南京',4000,to_date('2009-12-5','yyyy-MM-dd'),6006);
insert into workinfo values(1007,8008,'杭州',4000,to_date('2009-12-5','yyyy-MM-dd'),6006);
insert into workinfo values(1008,8010,'上海',4000,to_date('2007-12-5','yyyy-MM-dd'),6007);
insert into workinfo values(1009,8007,'杭州',4400,to_date('2008-12-5','yyyy-MM-dd'),6007);
insert into workinfo values(1010,8009,'杭州',4000,to_date('2009-12-5','yyyy-MM-dd'),6007);

select RANK() OVER(PARTITION BY city ORDER BY wage DESC) 名次,city ,wage,s.sid,sname,sex
from student s,workinfo w
where w.sid=s.sid

效果如下图:

rank() partition by 排名次的更多相关文章

  1. rank(),允许并列名次、复制名次自动空缺,结果如12245558……

    将score按ID分组排名:rank() over(partition by id order by score desc) 将score不分组排名:rank() over(order by scor ...

  2. table排名次

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. 排名次SQL语句【名次可重复时】

    原文发布时间为:2008-10-26 -- 来源于本人的百度文章 [由搬家工具导入] 功能实现 名次可重复时,比如第一名有两个。。。 select   *,(select   count(distin ...

  4. sql server 2000 对应 sql server 2005的row_number()、rank()、DENSE_RANK( )、ntile( )等用法

    转自CSDN:http://blog.csdn.net/htl258/article/details/4006717 SQL server 2005新增的几个函数,分别是row_number( ).r ...

  5. bzoj3224 Tyvj 1728 普通平衡树(名次树+处理相同)

    3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 5354  Solved: 2196[Submit][Sta ...

  6. leetcode快排相关

    leetcode:75颜色分类(3way).215数组中的第K个最大元素(normal) 3way private static void quick3waySort(int[] arr, int l ...

  7. SQLServer 窗口函数(转载)

    一.窗口函数的作用 窗口函数是对一组值进行操作,不需要使用GROUP BY 子句对数据进行分组,还能够在同一行中同时返回基础行的列和聚合列.窗口函数,基础列和聚合列的查询都非常简单. 二.语法格式 窗 ...

  8. 第六届acm省赛总结(退役贴)

    前言: 这是我的退役贴,之前发到了空间里,突然想到也要在博客里发一篇,虽然我很弱,但是要离开了还是有些感触,写出来和大家分享一下,希望不要见笑.回来看看,这里也好久没有更新了,这一年确实有些懈怠,解题 ...

  9. SQL SERVER 分页方法

    最近项目中需要在SQL SERVER中进行分页,需要编写分页查询语句.之前也写过一些关于分页查询的语句,但是性能不敢恭维.于是在业务时间,在微软社区Bing了一篇老外写的关于SQL SERVER分页的 ...

随机推荐

  1. 关于.Net mvc 项目在本地vs运行响应时间过长无法访问时,解决方法!

    最近可能是刚升级了电脑使用了window10操作系统,总是遇到了一些以前没有遇到过的事情! 今早来到公司本来准备写bug的,但是当我打开vs运行的时候发现今天的电脑响应的时间明显的要比之前打开网页调试 ...

  2. 从壹开始前后端分离 [ vue + .netcore 补充教程 ] 二八║ Nuxt 基础:面向源码研究Nuxt.js

    前言 哈喽大家周五好,又是一个开开心心的周五了,接下来就是三天小团圆啦,这里先祝大家节日快乐咯,希望都没有加班哈哈,今天公司发了月饼,嗯~时间来不及了,上周应该搞个活动抽中几个粉丝发月饼的,下次吧,这 ...

  3. [Abp vNext 源码分析] - 文章目录

    一.简要介绍 ABP vNext 是 ABP 框架作者所发起的新项目,截止目前 (2019 年 2 月 18 日) 已经拥有 1400 多个 Star,最新版本号为 v 0.16.0 ,但还属于预览版 ...

  4. 《深入理解Java虚拟机》-----第3章 垃圾收集器与内存分配策略

    Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来. 3.1 概述 说起垃圾收集(Garbage Collection,GC),大部分人都把这 ...

  5. Python获取网络中的存活主机以及哪些主机是Linux

    这个脚本用于扫描网络中的存活主机,通常在CMDB中自动获取主机的时候用到. #!/usr/bin/env python # -*- coding: utf-8 -*- ""&quo ...

  6. Node.js学习(第一章:Node.js安装和模块化理解)

    Node.js安装和简单使用 安装方法 简单的安装方式是直接官网下载,然后本地安装即可.官网地址:nodejs.org Windows系统下,选择和系统版本匹配的.msi后缀的安装文件.Mac OS ...

  7. C++ 编程技巧笔记记录(持续更新)

    C++是博大精深的语言,特性复杂得跟北京二环一样,继承乱得跟乱伦似的. 不过它仍然是我最熟悉且必须用在游戏开发上的语言,这篇文章用于挑选出一些个人觉得重要的条款/经验/技巧进行记录总结. 文章最后列出 ...

  8. 1.2环境安装「深入浅出ASP.NET Core系列」

    官网 在介绍安装环境之前,先介绍周边信息,比如微软net官网. https://www.microsoft.com/net 这个网站是学习微软技术栈比较权威的地方,包括环境下载,学习,架构,文档,社区 ...

  9. docker 安装 MySQL 8,并减少内存占用 记录

    目前vps 1cpu 512m内存 MySQL内存占用77% ,约350m ,经过修改配置文件优化后如下 $ ps aux 进入docker bash $ docker exec -it pwc-my ...

  10. 什么是mybatis?

    [学习笔记] 什么是mybatis: Mybatis本质是一种半自动化的ORM框架,前身是ibatis,除了要pojo和映射关系之外,还需要些sql语句. 怎么看待ORM框架: 处理矛盾的,java程 ...