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;