gpt4 book ai didi

sql - 获得每所学校学生的最高分

转载 作者:行者123 更新时间:2023-12-04 21:40:15 26 4
gpt4 key购买 nike

我有表STUDENT_MARKS:

SCHOOL_ID   STUDENT_ID      TTL_MARKS
--------------------------------------
8 24 78
8 25 76
9 33 88
9 34 85
9 35 88
10 41 68
10 42 68
10 43 68

我的输出应该是:

SCHOOL_ID   STUDENT_ID      TTL_MARKS
--------------------------------------
8 24 78
9 33 88
9 35 88
10 41 68
10 42 68
10 43 68

我正在尝试这个查询但没有成功::

SELECT 
SCHOOL_ID,
STUDENT_ID,
MAX(TTL_MARKS) OVER(PARTITION BY SCHOOL_ID)
FROM STUDENT_MARKS

如何在 SQL Server 中获得所需的结果?请帮忙!

最佳答案

您似乎想要原始行。因此,一种方法使用带有窗口函数的子查询:

select sm.*
from (select sm.*, max(sm.ttl_marks) over (partition by school_id) as max_ttl_marks
from student_marks sm
) sm
where ttl_marks = max_ttl_marks;

此查询使用窗口函数获取每所学校的最高分数。然后,外部查询会过滤行,因此只有得分最高的学生才会出现在结果集中。

关于sql - 获得每所学校学生的最高分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55207960/

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