zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    weka 文本分类(1)
    python 笔记1
    PAT乙级 1028. 人口普查(20)
    PAT乙级 1027. 打印沙漏(20)
    PAT乙级 1026. 程序运行时间(15)
    Eclipse常用快捷键
    MyBatis源码分析(各组件关系+底层原理
    springmvc异常处理
    Elasticsearch学习(一)————简单命令
    mybatis传入参数类型parameterType详解
  • 原文地址:https://www.cnblogs.com/tony312ws/p/2127222.html
Copyright © 2011-2022 走看看