原表:

目标:
将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列前实现分组编码,还不知道怎么在列后实现分组编码,请大神赐教
本文介绍了一种在SQL中实现分组递增编号的方法,首先通过递增编号理解基本概念,然后展示了如何在特定列分组的基础上进行递增编号,最后提出了在列后实现分组编码的需求。
3425





