• SQL排序


    今天经理出了题SQL语句:每个学生按照语文成绩的排名,如果没有成绩那就排名最后,要求有列 排名名次,学生姓名,成绩
    2张表分别:

    SQL排序 - 小蛇 - 小蛇--
    SQL排序 - 小蛇 - 小蛇--

     rank () over:

    select rank () over (order by a.Score desc ) as 排名名次,a.SName as 学生姓名,a.Score as 成绩 from
    (
    select TScore.Score as score,TStudent.SName from TStudent left join TScore on TScore.Sno =TStudent.SNo
    where isnull(TScore.CourseID,'A02')='A02') as a order by a.Score desc


    SQL排序 - 小蛇 - 小蛇--
    如果成绩为空的话序号就都显示一样

    row_number() over :

    select row_number() over  (order by a.Score desc ) as 排名名次,a.SName as 学生姓名,a.Score as 成绩 from
    (
    select TScore.Score as score,TStudent.SName from TStudent left join TScore on TScore.Sno =TStudent.SNo
    where isnull(TScore.CourseID,'A02')='A02') as a order by a.Score desc


    SQL排序 - 小蛇 - 小蛇--
    row_number() over 按照行来排序

    dense_rank () over:

    select dense_rank () over(order by a.Score desc ) as 排名名次,a.SName as 学生姓名,a.Score as 成绩 from
    (
    select TScore.Score as score,TStudent.SName from TStudent left join TScore on TScore.Sno =TStudent.SNo
    where isnull(TScore.CourseID,'A02')='A02') as a order by a.Score desc


    SQL排序 - 小蛇 - 小蛇--
    如果成绩是一样的话,序号也显示一样,好比说John的成绩是77,那他的排名也是3,而Marry的排名是4

  • 相关阅读:
    经济--1...19
    经济
    金融--
    经济--番外篇
    经济--基金问答
    经济--如何买基金?
    PHP面向对象常见的关键字和魔术方法
    php对象中类的继承性访问类型控制
    详解PHP的__set()、__get()、__isset()、unset()四个方法
    子类重载父类的方法“parent:方法名”
  • 原文地址:https://www.cnblogs.com/tony312ws/p/2127222.html
Copyright © 2020-2023  润新知