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;