PostgreSQL_row_number() over()
2024-05-10 18:13:33
语法
row_number() over( [partition by col1] order by col2[desc])
- row_number() 为返回的记录定义各行编号
- pritition by 分组
- order by 排序
实例
实例数据来源,利用pgAdmin数据库实践
建表
create table student(id serial,name character varying,course character varying,score integer);
插入数据
insert into student (name,course,score) values('周润发','语文',89);
insert into student (name,course,score) values('周润发','数学',99);
insert into student (name,course,score) values('周润发','外语',67);
insert into student (name,course,score) values('周润发','物理',77);
insert into student (name,course,score) values('周润发','化学',87);
insert into student (name,course,score) values('周星驰','语文',91);
insert into student (name,course,score) values('周星驰','数学',81);
insert into student (name,course,score) values('周星驰','外语',88);
insert into student (name,course,score) values('周星驰','物理',68);
insert into student (name,course,score) values('周星驰','化学',83);
insert into student (name,course,score) values('黎明','语文',85);
insert into student (name,course,score) values('黎明','数学',65);
insert into student (name,course,score) values('黎明','外语',95);
insert into student (name,course,score) values('黎明','物理',90);
insert into student (name,course,score) values('黎明','化学',78);
根据分数排序
select *,row_number() over(order by score desc) from student;
根据科目分组,按分数排序
select *,row_number() over(partition by course order by score desc) from student;
获取每个科目最高分(用子查询,降序)
select * from(select *,row_number() over(partition by course order by score desc)rank from student)t where rank=1;
获取每个科目最低分
select * from(select *,row_number() over(partition by course order by score )rank from student)t where rank=1;
PostgreSQL_row_number() over()相关推荐
- PostgreSQL_row_number() over()_应用实例
任务 用credit.loanborrow(用户借款表)中的数据,加工出以下字段: custid custwholeinfoid loanborrowid (就是credit.loanborrow表的 ...
最新文章
- OpenCV 笔记(07)— Mat 对象输出格式设置(Python 格式、CSV 格式、NumPy 格式、C 语言格式)
- Closure Compiler 使用
- Keil中的警告的解决
- Python剑指offer:和为s的连续整数序列
- 【转】 Ubuntu 11.04 下安装配置 JDK 7
- PopupWindow在项目中的使用 并指定位置及加入动画效果
- C语言把浮点数转换为字符串
- Java I/O系统之Object流
- AppCan开发者资料分享(定期更新)
- Linux下安装anaconda及遇到的问题
- (2)机器学习_train_test_split
- Python Numpy模块函数np.c_和np.r_学习使用
- 把华为OLT主控设置为上联的方法
- 基于Scala版本的TMDB大数据电影分析项目
- (CRON) info (No MTA installed, discarding output)” error in the syslog
- Cesium 视频融合,边缘模糊
- Java篇第三回——运算符、表达式与语句(C不好的也快来)
- Python数据可视化——pyecharts学习笔记
- 首席工程师揭秘:LinkedIn大数据后台是如何运作的
- 读英语计算机书籍读后感,英文书读后感范文(精选4篇)