1. 程式人生 > >MySQL 分組排序後加編號

MySQL 分組排序後加編號

原表:

目標:

將abcd分組後,每組分別加上編號

方法:

首先我們先實現一個簡單的效果:遞增編號,理解一下第一個點

SELECT
    @r:= @r + 1 AS rowNum,
    a.*
FROM
    tmp_mytest a,( SELECT @r:= 0 ) b

效果:

知道怎麼遞增編號之後,我們再來實現分組遞增編號,就更容易理解了

SELECT
    @r:= case when @type=a.type then @r+1 else 1 end as rowNum,
    @type:=a.type as type,
    a.id
from 
    tmp_mytest a ,(select @r:=0 ,@type:='') b;

效果:

目前只能實現在type列前實現分組編碼,還不知道怎麼在列後實現分組編碼,請大神賜教