Sum top 5 values in MySQL

后端 未结 2 1401
礼貌的吻别
礼貌的吻别 2021-01-21 04:57

I have a MySQL table where I store results from a racing championship, so that every rows contains -among other data- every driver\'s position in a certain race. I want to get t

2条回答
  •  清歌不尽
    2021-01-21 05:36

    Try this:

    SELECT driver, SUM(`position`)
    FROM (SELECT driver, race, season, `position`, 
                 IF(@lastDriver=(@lastDriver:=driver), @auto:=@auto+1, @auto:=1) indx 
          FROM results, (SELECT @lastDriver:=0, @auto:=1) A 
          ORDER BY driver, `position`) AS A  
    WHERE indx <= 5 
    GROUP BY driver ;
    

提交回复
热议问题