Mysql中实现row_number

Posted 易网无疆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql中实现row_number相关的知识,希望对你有一定的参考价值。

    CREATE TABLE `zsl_test` (  
        `ID` INT(10) NULL DEFAULT NULL,  
        `class` INT(10) NULL DEFAULT NULL,  
        `score` INT(10) NULL DEFAULT NULL  
    )  
    COLLATE=‘utf8_general_ci‘  
    ENGINE=InnoDB;     



    insert into zsl_test values (1,1,80);  
    insert into zsl_test values (2,1,80);  
    insert into zsl_test values (3,1,80);  
    insert into zsl_test values (4,1,80);  
    insert into zsl_test values (5,2,80);  
    insert into zsl_test values (6,2,80);  
    insert into zsl_test values (7,2,80);  
    insert into zsl_test values (8,2,80);  
    insert into zsl_test values (9,2,80);  
    insert into zsl_test values (10,2,80);  

    select id,class,score,rank from (  
    select b.id,b.class,b.score,@rownum:[email protected]+1 ,  
    if(@pdept=b.class,@rank:[email protected]+1,@rank:=1) as rank,  
    @pdept:=b.class  
    from (  
    select id,class,score from zsl_test order by id   
    ) b ,(select @rownum :=0 , @pdept := null ,@rank:=0) c ) result  
    having rank <3 ;  































以上是关于Mysql中实现row_number的主要内容,如果未能解决你的问题,请参考以下文章

在 MySQL 中实现一个复杂的查询

如何在MySQL中实现替换字段部分内容

如何在 MySQL 中实现关键字搜索?

Mybatis中实现mysql分页写法!!注意

MySQL 中实现数据的批量修改

如何在 MySQL 5 .7 中实现 CTE 功能?