Numerate duplicato di ogni valore [duplicato]

Jan 12 2021

Devo aggiungere una colonna alla mia tabella con il conteggio di ogni occorrenza di. Quindi, se il valore è unico, il valore della colonna dovrebbe essere 1, ma se sono presenti più copie ho bisogno di un valore diverso per ogni riga (1,2 ...)

Il database è postgres per esempio

id valore contare
1 un 1
2 un 2
3 b 1
4 b 2
5 b 3
6 c 1

esempio di database https://dbfiddle.uk/?rdbms=postgres_10&fiddle=0e7132f3f094bd93b390ccae2e811696

Risposte

5 a_horse_with_no_name Jan 12 2021 at 16:49

Questo può essere fatto usando le funzioni della finestra

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