sql >> Databasteknik >  >> RDS >> Mysql

MySQL - Konvertera ett dubblettvärde till ett unikt med en inkrementsammansättning

Det verkar som att du bara vill CONCAT() värdena tillsammans:

select data, group_row_number, 
  concat(data, cast(group_row_number as char)) as num,
  overall_row_num
from
(
  select data,
        @num := if(@data = `data`, @num + 1, 1) as group_row_number,
        @data := `data` as dummy, overall_row_num
  from
  (
    select data, @rn:[email protected]+1 overall_row_num
    from yourtable, (SELECT @rn:=0) r
  ) x
  order by data, overall_row_num
) x
order by overall_row_num

Se SQL-fiol med demo



  1. Oracle SQL Skapa PDF från data

  2. Fel antal eller typer av argument i anrop till proceduren med användning av zxJDBC

  3. Returnera noll om ingen post hittas

  4. SQLSTATE[42000] Syntaxfel eller åtkomstöverträdelse Radstorleken är för stor