ROW_NUMBER() liefert mehrfach "1"

Hallo,
ich habe eine Tabelle mit ~40.000 Datensätzen und erhalte für ROW_NUMBER ( ) für zahlreiche Zeilen die “1”:

SELECT "ID-Lit", "Autor1", "Autor2", "Autor3", "Titel1", "Titel2", "Titel3", 
ROW_NUMBER ( ) OVER ( ORDER BY "Autor1" ASC, "Autor2" ASC, "Autor3" ASC, "Titel1" ASC, "Titel2" ASC, "Titel3" ASC, "ID-Lit" ASC ) AS "^RowNr"
FROM "intHes"."T LITDOK Daten";

Für die entsprechenden Zeilen haben sowohl die Autor* als auch die Titel*-Felder unterschiedliche Inhalte. Testweise habe ich auch den Primärschlüssel “ID-Lit” aufgenommen.
Wo ist mein Fehler?

Du bist Dir sicher, kein PARTITION BY im over(…) zu haben?

Ja, das ist eine Kopie meiner aktuellen Query. Wenn nötig, wie muss ich PARTITION ergänzen?

Nein, PARTITION BY wäre eine Erklärung für mehrfach 1:

postgres=# select * from demo;
 a | b | c 
---+---+---
 1 | 2 | 3
 1 | 2 | 3
 1 | 2 | 3
 4 | 5 | 6
(4 rows)

postgres=# select *, row_number() over (order by a) from demo;
 a | b | c | row_number 
---+---+---+------------
 1 | 2 | 3 |          1
 1 | 2 | 3 |          2
 1 | 2 | 3 |          3
 4 | 5 | 6 |          4
(4 rows)

postgres=# select *, row_number() over (partition by a order by a) from demo;
 a | b | c | row_number 
---+---+---+------------
 1 | 2 | 3 |          1
 1 | 2 | 3 |          2
 1 | 2 | 3 |          3
 4 | 5 | 6 |          1
(4 rows)

postgres=#

Danke @akretschmer. Das Problem ist nicht PostgreSQL, dort und in dBeaver liefert die Query richtige Werte. Erst bei der Nutzung der LibreOffice-Base - Oberfläche kommt es zu der Erscheinung. Ich habe es nun anders gelöst.

1 „Gefällt mir“

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.