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 语法相关推荐

  1. sql 窗口函数ROW_NUMBER() 分组/排序/计数

    ROW_NUMBER() 窗口函数 / 分析函数 MySQL中,row_number() 函数 用来分区的,使用它 为返回的结果集中的每一行 生成一个序列号(为行分配序号),第一个数字以1开头. 主要 ...

  2. (五)Oracle函数 序列 约束 索引

    DECODE函数 DECODE函数基本语法 DECODE函数的语法如下:DECODE (expr, search1, result1[, search2, result2-][, default]) ...

  3. sql和python数据分析对比_Python数据分析神器Pandas与数据库查询语言SQL的对比

    Pandas是Python领域强大的数据处理与分析的类库,而SQL是关系型数据库MYSQL.Oracle的查询语言,这两者都是对表格型数据的查询和操作,有很多相似之处,本文和视频(视频在文章最下方)实 ...

  4. Hive常用函数大全

    目录 第1章 算数运算 1.1 加法: + 1.2 减法: - 1.3 乘法: * 1.4 除法: / 1.5 取余: % 1.6 位与: & 1.7 位或: | 1.8 位异或: ^ 1.9 ...

  5. 三万字SQL详解,看看你会多少?

    Oracle 创建表 CREATE TABLE <table_name>(column1 DATATYPE [NOT NULL] PRIMARY KEY,column2 DATATYPE ...

  6. ORACLE 常用操作

    DDL:数据库对象:表.视图.索引.序列等的增删改 DML:数据库数据(记录)的增删改,通常伴随事务 TCL:用于维护数据一致性,有提交.回滚.保存点.回滚是回到到上一次事务开始或保存点处. DQL: ...

  7. SQL 分组计算 topN

    文章目录 在线运行SQL 建表: 分组 topN row_number() union all 自关联 在线运行SQL 首先安利这款免费在线 SQL 运行平台 sql fiddle: 建表: crea ...

  8. mysql排名函数使用

    1.percent_rank()函数 PERCENT_RANK()函数计算分区或结果集中行的百分位数排名这PERCENT_RANK()是一个窗口函数, 用于计算分区或结果集中行的百分位数. 以下显示了 ...

  9. 【原创】MySQL 实现Oracle或者PostgreSQL的row_number over 这样的排名语法

    PostgreSQL 和Oracle 都提供了 row_number() over() 这样的语句来进行对应的字段排名, 很是方便.  MySQL却没有提供这样的语法. 最近由于从Oracle 迁移到 ...

最新文章

  1. 《Clojure数据分析秘笈》——2.6节调整词频值的度量
  2. Python的线性查找(作业)
  3. 为啥mysql的load这么快_mysql – 为什么’LOAD DATA INFILE’比普通的INSERT语句更快?...
  4. React的组件生命周期
  5. java中集合类的转换_Java中的两个常用工具类及集合数组的相互转换
  6. python编程a的x次方_「Python 面试」第四次更新
  7. 基元线程同步构造之waithandle中 waitone使用
  8. 算法笔记_面试题_9.解码方法/数字字符串解码成字母的种类
  9. uni-app开发开发h5,小程序,app,注意事项
  10. 原生JS实现HTML文件上传,简单实现js上传文件功能
  11. 常用的网络上的 webservice 地址
  12. 计算机软件工程电脑配置,软件工程专业所需电脑配置。
  13. 51单片机12864液晶显示模块控制
  14. hdu 1869 六度分离(bfs)
  15. Flan Scan:Cloudflare开源轻量级网络漏洞扫描软件
  16. eclipse新建javaweb项目——javaweb系列(一)
  17. 多人网络游戏服务器开发基础学习笔记 I:基本知识 | 游戏设计模式 | 网游服务器层次结构 | 游戏对象序列化 | 游戏 RPC 框架 | 帧同步和状态同步
  18. 艺赛旗首席科学家、南京大学人工智能学院副院长黎铭教授出席iS-RPM流程挖掘产品发布会演讲分享
  19. android6.0-nexus5 mac上docker 编译刷机
  20. 自用推荐,heic格式转换工具

热门文章

  1. 新零售新趋势?丨工信部:我国5G研发推动全球统一标准
  2. 计算机桌面显示已锁定什么意思,电脑已锁定是什么意思,界面没有了
  3. python import自己写的.py文件
  4. JAVA打印10*10的正方形和10*10的空心正方形
  5. 安卓模拟器清除pin密码后屏幕锁定崩溃停止运行的解决办法
  6. 我爱背单词032 perpetual
  7. 【中金固收】国际资产管理行业:起源、监管及业态 ——我国资管行业新形势下的转型借鉴 20180813
  8. 联想笔记本没有wlan这一选项?
  9. 1_TX2入门-JetPack安装
  10. 聚名:域名贵吗?评判域名贵的标准有哪些?