Numerado duplicado de cada valor [duplicado]
Necesito agregar una columna a mi tabla con el recuento de cada aparición de. Entonces, si el valor es único, el valor de la columna debe ser 1, pero si hay copias múltiples, necesito un valor diferente para cada fila (1,2 ...)
La base de datos es postgres por ejemplo
carné de identidad | valor | contar |
---|---|---|
1 | un | 1 |
2 | un | 2 |
3 | segundo | 1 |
4 | segundo | 2 |
5 | segundo | 3 |
6 | C | 1 |
ejemplo de base de datos https://dbfiddle.uk/?rdbms=postgres_10&fiddle=0e7132f3f094bd93b390ccae2e811696
Respuestas
5 a_horse_with_no_name
Esto se puede hacer usando funciones de ventana.
select id, value, count(*) over (partition by value order by id)
from the_table
order by id, value;