PHP MYSQL group ranking query

前端 未结 1 798
梦毁少年i
梦毁少年i 2020-12-22 08:24
CREATE TABLE `players` (
 `pid` int(2) NOT NULL AUTO_INCREMENT,
 `name` varchar(50) NOT NULL,
`team` varchar(20) NOT NULL,
`age` int(2) NOT NULL,
PRIMARY KEY (`pid`)         


        
相关标签:
1条回答
  • 2020-12-22 08:45

    You need to move the where clause inside the query as

    SELECT pid, 
    name, 
    age, 
    team, 
    rank 
    FROM (
     SELECT pid, name, age, team,
     @curRank := IF(@prevRank = age, @curRank, @incRank) AS rank, 
     @incRank := @incRank + 1, 
     @prevRank := age
     FROM players p, (SELECT @curRank :=0, @prevRank := NULL, @incRank := 1) r
     WHERE team='aa'
     ORDER BY age DESC
    ) s 
    
    0 讨论(0)
提交回复
热议问题