zoukankan      html  css  js  c++  java
  • SQLSERVER 不并列连续排序,并列不连续排名,并列连续排名,分组排名

    CREATE TABLE #temp_student_result
        (
          student_name NVARCHAR(20) ,
          class_name NVARCHAR(20) ,
          score FLOAT
        );
        
    INSERT  INTO #temp_student_result
            ( student_name, class_name, score )
    VALUES  ( N'张三1', -- student_name - nvarchar(20)
              N'一班', -- class_name - nvarchar(20)
              15  -- score - float
              );
                  
    INSERT  INTO #temp_student_result
            ( student_name, class_name, score )
    VALUES  ( N'张三2', -- student_name - nvarchar(20)
              N'一班', -- class_name - nvarchar(20)
              80  -- score - float
              );
                  
    INSERT  INTO #temp_student_result
            ( student_name, class_name, score )
    VALUES  ( N'张三3', -- student_name - nvarchar(20)
              N'一班', -- class_name - nvarchar(20)
              60  -- score - float
              );
                  
    INSERT  INTO #temp_student_result
            ( student_name, class_name, score )
    VALUES  ( N'张三4', -- student_name - nvarchar(20)
              N'一班', -- class_name - nvarchar(20)
              100  -- score - float
              );
                  
    INSERT  INTO #temp_student_result
            ( student_name, class_name, score )
    VALUES  ( N'张三5', -- student_name - nvarchar(20)
              N'一班', -- class_name - nvarchar(20)
              100  -- score - float
              );
                  
    INSERT  INTO #temp_student_result
            ( student_name, class_name, score )
    VALUES  ( N'李四1', -- student_name - nvarchar(20)
              N'二班', -- class_name - nvarchar(20)
              15  -- score - float
              );
                  
    INSERT  INTO #temp_student_result
            ( student_name, class_name, score )
    VALUES  ( N'李四2', -- student_name - nvarchar(20)
              N'二班', -- class_name - nvarchar(20)
              80  -- score - float
              );
                  
    INSERT  INTO #temp_student_result
            ( student_name, class_name, score )
    VALUES  ( N'李四3', -- student_name - nvarchar(20)
              N'二班', -- class_name - nvarchar(20)
              60  -- score - float
              );
                  
    INSERT  INTO #temp_student_result
            ( student_name, class_name, score )
    VALUES  ( N'李四4', -- student_name - nvarchar(20)
              N'二班', -- class_name - nvarchar(20)
              86  -- score - float
              );
                  
    INSERT  INTO #temp_student_result
            ( student_name, class_name, score )
    VALUES  ( N'李四5', -- student_name - nvarchar(20)
              N'二班', -- class_name - nvarchar(20)
              95  -- score - float
              );
              
     --年级连续不并列排序
    SELECT  * ,
            ROW_NUMBER() OVER ( ORDER BY score DESC ) [rank]
    FROM    #temp_student_result;
    
     --年级并列不连续排名         
    SELECT  * ,
            RANK() OVER ( ORDER BY score DESC ) [rank]
    FROM    #temp_student_result;
      
    --年级并列连续排名         
    SELECT  * ,
            DENSE_RANK() OVER ( ORDER BY score DESC ) [rank]
    FROM    #temp_student_result; 
              
              
    --班级顺序排名(分组排序)
    SELECT  * ,
            ROW_NUMBER() OVER ( PARTITION BY class_name ORDER BY score DESC ) [rank]
    FROM    #temp_student_result;            
              
    DROP TABLE #temp_student_result;

    1,年级连续不并列排序

     --年级连续不并列排序
    SELECT  * ,
            ROW_NUMBER() OVER ( ORDER BY score DESC ) [rank]
    FROM    #temp_student_result;

    2,年级并列不连续排名

    --年级并列不连续排名         
    SELECT  * ,
            RANK() OVER ( ORDER BY score DESC ) [rank]
    FROM    #temp_student_result;

    3,年级并列连续排名

    --年级并列连续排名         
    SELECT  * ,
            DENSE_RANK() OVER ( ORDER BY score DESC ) [rank]
    FROM    #temp_student_result; 

     4,班级顺序排名(分组排序)

    --班级顺序排名(分组排序)
    SELECT  * ,
            ROW_NUMBER() OVER ( PARTITION BY class_name ORDER BY score DESC ) [rank]
    FROM    #temp_student_result;  

  • 相关阅读:
    Linux Centos7(Mac) 安装Docker教程
    SpringBoot应用操作Rabbitmq(fanout广播高级操作)
    SpringBoot应用操作Rabbitmq(topic交换器高级操作)
    SpringBoot应用操作Rabbitmq(direct高级操作)
    CCF 字符串匹配(find()函数的使用)
    PKU 1204 Word Puzzles(AC自动机)
    PKU 1932 XYZZY(Floyd+Bellman||Spfa+Floyd)
    PKU 1201 Intervals(差分约束系统+Spfa)
    PKU 2352 Stars(裸一维树状数组)
    PKU 3169 Layout(差分约束系统+Bellman Ford)
  • 原文地址:https://www.cnblogs.com/YoungHeart/p/15157424.html
Copyright © 2011-2022 走看看