Dupliziere jedes Wertes [Duplikat]

Jan 12 2021

Ich muss meiner Tabelle eine Spalte mit der Anzahl aller Vorkommen von hinzufügen. Wenn der Wert eindeutig ist, sollte der Spaltenwert 1 sein. Wenn jedoch mehrere Kopien vorhanden sind, benötige ich für jede Zeile einen anderen Wert (1,2 ...).

Die Datenbank ist zum Beispiel postgres

Ich würde Wert Anzahl
1 ein 1
2 ein 2
3 b 1
4 b 2
5 b 3
6 c 1

Datenbankbeispiel https://dbfiddle.uk/?rdbms=postgres_10&fiddle=0e7132f3f094bd93b390ccae2e811696

Antworten

5 a_horse_with_no_name Jan 12 2021 at 16:49

Dies kann mithilfe von Fensterfunktionen erfolgen

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