按SQL级别对学生进行排名
发布时间:2020-05-24 13:09:11 所属栏目:MsSql 来源:互联网
导读:我有这样一张桌子: Date StudentName Score01.01.09 Alex 10001.01.09 Tom 9001.01.09 Sam 7001.02.09 Alex 10001.02.09 Tom 5001.02.09
|
我有这样一张桌子: Date StudentName Score 01.01.09 Alex 100 01.01.09 Tom 90 01.01.09 Sam 70 01.02.09 Alex 100 01.02.09 Tom 50 01.02.09 Sam 100 我需要在不同日期内按分数对结果表中的学生进行排名,如下所示: Date Student Rank 01.01.09 Alex 1 01.01.09 Tom 2 01.01.09 Sam 3 01.02.09 Alex 1 01.02.09 Sam 1 01.02.09 Tom 2 我怎么能在SQL中这样做? 解决方法您想在T-SQL中使用rank函数:select
date,student,rank() over (partition by date order by score desc) as rank
from
grades
order by
date,rank,student
神奇的是在over子句中.看,它按日期分割这些排名,然后按分数对这些子集进行排序.很棒,嗯? (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- percona-toolkit之pt-kill 杀掉mysql查询或连接的方法
- 对大型数据库进行单元测试
- 认识SQL Server 三种恢复模式
- SQL Server在sql变量中存储多个值
- 数据库 – Access 2007 – 2010可以使用哪些ORM?我是在WPF
- SQL GROUP BY仅在子查询中
- heroku – Gem :: LoadError:为数据库适配器指定’postgre
- sql-server – 如果它是DATETIME或DATETIME2,为什么索引不能
- sql-server – SQL Server – 使用当前的GetDate过滤器创建
- MySQL 从一张表update字段到另外一张表中
