У меня есть следующая таблица
И мне нужно иметь возможность увеличивать значение счетчика при изменении имени в SQL
mysql и postgresql — это два разных продукта баз данных с разными реализациями sql. Удалены конфликтующие теги товаров. Пожалуйста, добавьте тот, который вы действительно используете.
Вам нужен столбец, определяющий порядок столбцов, потому что таблицы SQL представляют неупорядоченные наборы. Если он у вас есть, вы можете использовать трюк с промежутками и островами с разницей номеров строк:
select t.*,
row_number() over (partition by name, seqnum - seqnum_2 order by <ordercol>) as value
from (select t.*,
row_number() over (order by <ordercol>) as seqnum,
row_number() over (partition by name order by <ordercol>) as seqnum_2
from t
) t
order by <order col>;
Что исправляет отображаемый порядок строк в исходнике, какое выражение ORDER BY? Без этого ваш визуальный порядок строк является поддельным.