partition  by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition  by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组

create database StudentDB
go

use StudentDB
go

create table Student  --学生成绩表
(
id int,  --主键
Grade int, --班级
Score int --分数
)
go

insert Student 
    select 1,1,88
union all select 2,1,66
union all select 3,1,75
union all select 4,2,30
union all select 5,2,70
union all select 6,2,80
union all select 7,2,60
union all select 8,3,90
union all select 9,3,70
union all select 10,3,80

go

--所有学生信息
select * from Student

id          Grade       Score
----------- ----------- -----------
1           1           88
2           1           66
3           1           75
4           2           30
5           2           70
6           2           80
7           2           60
8           3           90
9           3           70
10          3           80

(10 行受影响)

--不分班按学生成绩排名
select *,ROW_NUMBER() over(order by Score desc) as Sequence from Student

id          Grade       Score       Sequence
----------- ----------- ----------- --------------------
8           3           90          1
1           1           88          2
6           2           80          3
10          3           80          4
3           1           75          5
9           3           70          6
5           2           70          7
2           1           66          8
7           2           60          9
4           2           30          10

(10 行受影响)

--分班后按学生成绩排名
select *,row_number() over(partition by Grade order by Score desc) as Sequence from Student

id          Grade       Score       Sequence
----------- ----------- ----------- --------------------
1           1           88          1
3           1           75          2
2           1           66          3
6           2           80          1
5           2           70          2
7           2           60          3
4           2           30          4
8           3           90          1
10          3           80          2
9           3           70          3

(10 行受影响)

转载于:https://www.cnblogs.com/PearlRan/p/4833032.html

sqlserver中分区函数 partition by的用法相关推荐

  1. 分区函数Partition By的用法

    group by是分组函数,partition by是分区函数(像sum()等是聚合函数),注意区分. 1.over函数的写法: over(partition by cno order by degr ...

  2. SQLSERVER中RANK OVER(PARTITION BY)的用法

    一张学生表[姓名.班级.分数],查询出每个班级成绩排第一的同学(按照班级的分数排名) 其中RANK() OVER()和DENSE RANK() OVER()的区别需要注意,也就是如果遇到一个并列第一的 ...

  3. 分区函数Partition By的与row_number()的用法以及与排序rank()的用法详解(获取分组(分区)中前几条记录)...

    partition by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition by用于给结果集分组,如果没有指 ...

  4. 记录学习 - 分区函数Partition By的使用

    group by是分组函数.partition by是分区函数.sum()等是聚合函数 1.over函数的写法: over(partition by cno order by degree ) 先对c ...

  5. pythonlower函数_python中lower函数实现方法及用法讲解

    之前小编介绍过python中将字符串小写字符转为大写的upper函数的使用方法(upper函数).有将小写转为大写的需要,那也有将大写转为小写的情况.本文主要介绍在python中可以将字符串大写自摸转 ...

  6. Sqlserver中DATEPART() 函数

    在Sqlserver数据库中,DATEPART() 函数用于返回日期/时间的单独部分,比如年.月.日.小时.分钟等等.DatePart()函数的语法为: DATEPART(datepart,date) ...

  7. Python pandas 中loc函数的意思及用法,及跟iloc的区别

    Python pandas 中loc函数的意思及用法,及跟iloc的区别 loc和iloc的意思 loc和iloc的区别及用法展示 参考文献 loc和iloc的意思 首先,loc是location的意 ...

  8. 每天学一点儿shell:linux中时间函数的date的用法

    文章目录 1.linux中date函数格式 2.date日期函数的具体用法 2.1.获取相应格式的日期 2.2.获取相隔时间段的日期 2.2.1.获取今天的日期 2.2.2.获取昨天的日期 2.2.3 ...

  9. sqlserver中dateadd函数用法

    dateadd()函数在日期中添加或者减去指定的时间间隔 DATEADD(datepart,number,date) date 参数是合法的日期表达式.number 是您希望添加的间隔数:对于未来的时 ...

最新文章

  1. 世卫组织希望两年之内结束新冠大流行,最终将进入季节性模式
  2. 2019-11-13 有趣的网站(持续更新)
  3. 江西事业单位计算机管理岗怎么样,江西省直事业单位招聘出现不少冷门岗
  4. js中的if与Java中的if_JS直接if参数的用法JS中!和!!区别
  5. 被面试官虐过之后,他轻蔑的问我:你还说你了解单例模式吗?
  6. 无人驾驶五 使用pure pursuit实现无人车轨迹追踪(python)
  7. oracle过程包保存乱码_这些火遍网络的哆啦A梦表情包,你知道出处吗?
  8. Java面试之ArrayList为什么线程不安全?
  9. mysql 导入设置编码_MySQL导入或导出数据库字符编码集设置
  10. html跳转多个域名自动选择,nginx实现两个域名之间跳转配置
  11. C++【递归】阿克曼函数
  12. A DIRT-T APPROACH TO UNSUPERVISED DOMAIN ADAPTATION
  13. react如何请求amr文件流接口-优化版
  14. 慢下来,等一等自己的灵魂
  15. 2020数学建模国赛A题思路与代码(全)
  16. Hibernate【映射】知识要点
  17. 使用计算机数据采集的优点,什么是数据采集器
  18. 2020放弃安卓用鸿蒙,放弃鸿蒙用安卓,认输就在一念之间,网友13亿人养不起华为...
  19. P4117 [Ynoi2018] 五彩斑斓的世界
  20. VS2019配置VMTK、VTK库

热门文章

  1. 一个长方体玻璃容器从里面量长宽_葡萄干这样吃,功效翻倍,含铁量是葡萄的15倍!葡萄干的功效和作用...
  2. ioswebview混编_iOS与H5混编--优秀的第三方框架WebViewJavascriptBridge
  3. kotlin_Kotlin
  4. Python系统命令– os.system(),subprocess.call()
  5. [msi]安装包无法安装,提示没有找到源文件xxx.cab
  6. 在Windows Server 2008 R2上安装Ftp服务
  7. linux下截图软件 shutter
  8. 从事前端开发,日常工作中必备的工具有哪些?
  9. Flask 参数简介
  10. Python 基金会 —— 模块和包简介