gpt4 book ai didi

sql - 在 SQL 中按年级对学生进行排名

转载 作者:行者123 更新时间:2023-12-02 14:07:23 24 4
gpt4 key购买 nike

我有一个这样的表:

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   Sam            100

我需要按不同日期内的分数对成绩表中的学生进行排名,如下所示:

Date       Student         Rank01.01.09   Alex             101.01.09   Tom              201.01.09   Sam              301.02.09   Alex             101.02.09   Sam              101.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子句。看,它按日期拆分这些排名,然后按分数对这些子集进行排序。太棒了,是吗?

关于sql - 在 SQL 中按年级对学生进行排名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1262865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com