Вот моя MySQL таблица. Я обновил вопрос, добавив к нему столбец 'id' (как указано в комментариях других).
id data_id
1 2355
2 2031
3 1232
4 9867
5 2355
6 4562
7 1232
8 2355
Я хочу добавить новый столбец с именем row_num
, чтобы назначить увеличивающийся номер ТОЛЬКО для дубликаты, как показано ниже. Порядок результатов не имеет значения.
id data_id row_num
3 1232 1
7 1232 2
2 2031 null
1 2355 1
5 2355 2
8 2355 3
6 4562 null
4 9867 null
Я следил за этим ответом и нашел код ниже. Но следующий код также добавляет счетчик «1» к не повторяющимся значениям, как я могу изменить приведенный ниже код, чтобы добавить счетчик только для дубликатов?
select data_id,row_num
from (
select data_id,
@row:=if(@prev=data_id,@row,0) + 1 as row_num,
@prev:=data_id
from my_table
)t