当前位置: 首页 > 知识库问答 >
问题:

如何仅为获得及格分数的学生查找排名?

楮自珍
2023-03-14

我在一个数据库表中有学生分数,比如

studid, studname, m1, m2, m3

和另一个数据库表中的学生个人信息,例如

studid, studname.

>

  • 我想将两个表连接起来进行研究,螺柱名称((m1,m2,m3)必须合计为“总计”)。

    学生的成绩必须显示m1、m2、m3

    我还想只显示那些获得及格分数的学生的排名。

  • 共有3个答案

    袁山
    2023-03-14

    您可以将DENSE_RANK()与这样的 CASE 结合使用。

    SELECT studid, studname,(m1 + m2 + m3) as Totalmarks,
    CASE WHEN (m1 >= 40 AND m2 >= 40 AND m3 >= 40) THEN 'PASS' ELSE 'FAIL' END,
    CASE WHEN (m1 >= 40 AND m2 >= 40 AND m3 >= 40) THEN DENSE_RANK()OVER(ORDER BY (m1 + m2 + m3) DESC) ELSE NULL END std_rank
    FROM studentmarks
    WHERE m1 >= 40 AND m2 >= 40 AND m3 >= 40
    

    编辑

    如果您想显示所有学生,请删除WHERE子句

    李鸿
    2023-03-14

    试试这个,

    select studID, Studname, m1, m2, m3, (m1+ m2+ m3) as 'Total', 
        case 
            when(m1<40 OR m2<40 OR m3<40) 
            then 'FAIL' 
            else 'PASS' 
        end as 'Result'
    

    它应该工作。您可以连接2个表以产生所需的结果

    席言
    2023-03-14
    select ID, Name, CASE WHEN total > 40 THEN 'Pass' ELSE 'fail' end from 
    (select m.studid as ID, m.studname as Name, sum(m1)+sum(m2)+sum(m3) as total from marks m NATURAL JOIN info i group by studid,studname )
    
     类似资料:
    • 问题内容: 我有下表 在这里,我有一个“学生”表,我想 从该学生表中获取从每个学科获得满分的学生的姓名,例如以下输出。 问题答案: 您可以使用ROW_NUMBER函数仅返回每个主题的“最佳”行: SQL小提琴 MS SQL Server 2008架构设置 : 查询1 : 结果 :

    • 我有下表 在这里,我有一个“学生”表,我想 从学生表中获取每个科目的最大分数的学生的姓名,如以下输出。

    • 问题内容: 如果我有5位成员的得分如下 c的ZRANK返回2,d的ZRANK返回3 对于相同的分数,是否可以获得相同的排名? 示例:ZRANK c = 2,d = 2,e = 3 如果是,那么如何在spring-data-redis中实现呢? 问题答案: 任何实际的解决方案都需要满足要求,这是原始问题中所缺少的。我的第一个答案假设数据集很小,但是这种方法无法扩展,因为至少在O(N)中完成了密集排序

    • 本文向大家介绍LintCode-排序列表转换为二分查找树分析及实例,包括了LintCode-排序列表转换为二分查找树分析及实例的使用技巧和注意事项,需要的朋友参考一下 给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树 您在真实的面试中是否遇到过这个题?  分析:就是一个简单的递归,只是需要有些链表的操作而已 代码: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

    • 我想在每门课程中获得最高分,包括该课程的标题和参加该课程考试的学生姓名。我有这些表格,第一个学生 课程表 我还做了一张表格,让学生在课程考试中通过分数与课程联系起来 那我怎么能质疑呢。

    • 问题内容: 我有一个十进制值34.3287332,如何获得.3287332之类的值的分数,请任何一位帮助(我可以将其转换为字符串并获取分数。但我不需要) 问题答案: 我只是获取整个值,然后得到其余的值: (获得剩余部分可能有更有效的方法,但这很简单。) 尽管您也可以在SQL中执行此操作,但是当您想使用LINQ to SQL或类似的方法获取值时,这种方法的效果可能会不太好- 我更喜欢将值操作放在.N