row_number 语法
ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号。在查询时应用了一个排序标准后,只有通过编号才能够保证其顺序是一致的,当使用ROW_NUMBER函数时,也需要专门一列用于预先排序以便于进行编号
partition by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组,分区函数一般与排名函数一起使用。
原始表score:
s_id 表是学生编号,c_id表是课程编号,s_score 表是学生对应的课程分数
1.要求:得出每门课程的学生成绩排序(升序)
----因为是每门课程的结果,并且要排序,所以用row_number
select * ,row_number() over (partition by c_id order by s_score) from score;
返回结果:
2:进一步要求:得出每门课程的学生成绩,并且按照70分作为分割线排序—即低于70分的排序,高于70分的排序
select * ,row_number() over (partition by c_id,(case when s_score>70 then 1 else 0 end) order by s_score) from score;
返回结果:
row_number 语法相关推荐
- sql 窗口函数ROW_NUMBER() 分组/排序/计数
ROW_NUMBER() 窗口函数 / 分析函数 MySQL中,row_number() 函数 用来分区的,使用它 为返回的结果集中的每一行 生成一个序列号(为行分配序号),第一个数字以1开头. 主要 ...
- (五)Oracle函数 序列 约束 索引
DECODE函数 DECODE函数基本语法 DECODE函数的语法如下:DECODE (expr, search1, result1[, search2, result2-][, default]) ...
- sql和python数据分析对比_Python数据分析神器Pandas与数据库查询语言SQL的对比
Pandas是Python领域强大的数据处理与分析的类库,而SQL是关系型数据库MYSQL.Oracle的查询语言,这两者都是对表格型数据的查询和操作,有很多相似之处,本文和视频(视频在文章最下方)实 ...
- Hive常用函数大全
目录 第1章 算数运算 1.1 加法: + 1.2 减法: - 1.3 乘法: * 1.4 除法: / 1.5 取余: % 1.6 位与: & 1.7 位或: | 1.8 位异或: ^ 1.9 ...
- 三万字SQL详解,看看你会多少?
Oracle 创建表 CREATE TABLE <table_name>(column1 DATATYPE [NOT NULL] PRIMARY KEY,column2 DATATYPE ...
- ORACLE 常用操作
DDL:数据库对象:表.视图.索引.序列等的增删改 DML:数据库数据(记录)的增删改,通常伴随事务 TCL:用于维护数据一致性,有提交.回滚.保存点.回滚是回到到上一次事务开始或保存点处. DQL: ...
- SQL 分组计算 topN
文章目录 在线运行SQL 建表: 分组 topN row_number() union all 自关联 在线运行SQL 首先安利这款免费在线 SQL 运行平台 sql fiddle: 建表: crea ...
- mysql排名函数使用
1.percent_rank()函数 PERCENT_RANK()函数计算分区或结果集中行的百分位数排名这PERCENT_RANK()是一个窗口函数, 用于计算分区或结果集中行的百分位数. 以下显示了 ...
- 【原创】MySQL 实现Oracle或者PostgreSQL的row_number over 这样的排名语法
PostgreSQL 和Oracle 都提供了 row_number() over() 这样的语句来进行对应的字段排名, 很是方便. MySQL却没有提供这样的语法. 最近由于从Oracle 迁移到 ...
最新文章
- 《Clojure数据分析秘笈》——2.6节调整词频值的度量
- Python的线性查找(作业)
- 为啥mysql的load这么快_mysql – 为什么’LOAD DATA INFILE’比普通的INSERT语句更快?...
- React的组件生命周期
- java中集合类的转换_Java中的两个常用工具类及集合数组的相互转换
- python编程a的x次方_「Python 面试」第四次更新
- 基元线程同步构造之waithandle中 waitone使用
- 算法笔记_面试题_9.解码方法/数字字符串解码成字母的种类
- uni-app开发开发h5,小程序,app,注意事项
- 原生JS实现HTML文件上传,简单实现js上传文件功能
- 常用的网络上的 webservice 地址
- 计算机软件工程电脑配置,软件工程专业所需电脑配置。
- 51单片机12864液晶显示模块控制
- hdu 1869 六度分离(bfs)
- Flan Scan:Cloudflare开源轻量级网络漏洞扫描软件
- eclipse新建javaweb项目——javaweb系列(一)
- 多人网络游戏服务器开发基础学习笔记 I:基本知识 | 游戏设计模式 | 网游服务器层次结构 | 游戏对象序列化 | 游戏 RPC 框架 | 帧同步和状态同步
- 艺赛旗首席科学家、南京大学人工智能学院副院长黎铭教授出席iS-RPM流程挖掘产品发布会演讲分享
- android6.0-nexus5 mac上docker 编译刷机
- 自用推荐,heic格式转换工具