Пронумеровать дубликаты каждого значения [дубликат]

Jan 12 2021

Мне нужно добавить столбец в мою таблицу с подсчетом каждого появления. Итак, если значение уникально, значение столбца должно быть 1, но если есть несколько копий, мне нужно другое значение для каждой строки (1,2 ...)

Например, база данных postgres

мне бы ценность считать
1 а 1
2 а 2
3 б 1
4 б 2
5 б 3
6 c 1

пример базы данных https://dbfiddle.uk/?rdbms=postgres_10&fiddle=0e7132f3f094bd93b390ccae2e811696

Ответы

5 a_horse_with_no_name Jan 12 2021 at 16:49

Это можно сделать с помощью оконных функций.

select id, value, count(*) over (partition by value order by id) 
from the_table
order by id, value;