Data una tabella del tipo:

Id Name 
1  test
1  test
2  test123
2  test123
3  test333

Si vuole ottenere il seguente risultato:

Id Name RowNum
1  test    1 
1 test 2 1 test123 1
1 test123 2 3 test333 1

Può essere ottenuto nel modo seguente:

select g.id,g.name,g.rownum 
from (
select t.id,t.name,
@running:=if(@previous=concat(t.id,t.name),@running,0) + 1 as rownum,
@previous:=concat(t.id,t.name)
from test t
order by concat(t.id,t.name)
) g;