Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL - Преобразуване на дублирана стойност в уникална с конкатенация на нарастване

Изглежда, че просто искате да CONCAT() стойностите заедно:

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

Вижте SQL Fiddle с демонстрация



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. изтрий мин. стойности от записи след сравняване на две стойности от таблица в sql

  2. Кой е най-добрият начин за произволни 1000 реда (не дублиран ред) от mysql?

  3. Извличане на всички редове въз основа на заявката в масив

  4. Архивиране на база данни в MySQL с помощта на C#

  5. Има ли начин PHP да валидира SQL синтаксис, без да го изпълнява?