PostgreSQL - select-Statement

Hey,
sorry für den schlechten Titel, ich wusste einfach keinen passenden :wink:
Ich möchte aus einer Tabelle in Postgres Wahrscheinlichkeiten berechnen.
Eine Tabelle könnte etwa so aussehen:

id | wert1 | wert2

1 1 2
2 3 2
3 2 1
4 4 3

Ich möchte nun per select zählen, wie oft bspw. bei id 1 für wert1 ‚1‘ und für wert2 ‚2‘ steht UND bei id 2 soll im wert1 ‚3‘ stehen.

Ich versuchs mal in Pseudocode:

select count(id) from tabelle where wert1=1 AND wert2=2 (bei id = 1) AND wert1=3 (bei id = 2)

Ich hab bisher als einzige Lösung, noch eine weitere Spalte zu erstellen und dort den wert1 um eins versetzt einzutragen, so dass die gesuchten Werte alle in einer Zeile stehen. Dann ist es simpel, funktioniert auch. Ich würde aber gern die redundante Speicherung vermeiden, so müsst ich ja jede Spalte doppelt speichern und es sollen große Datenmengen verwurstelt werden.

Ich hoffe, ich konnte mich einigermaßen verständlich ausdrücken und jemand hat nen Tipp für mich :smile:
Viele Grüße
Nadine

Moin, Nadine,

Ich hoffe, ich konnte mich einigermaßen verständlich
ausdrücken

davon kann keine Rede sein, deshalb meldet sich auch wohl niemand.

Mit dem Spaltennamen id stiftest Du nur Verwirrung. Ids haben es an sich, dass sie in einer Tabelle nur einmal vorkommen, andernfalls sind sie keine Ids. Ist die Spalte ein Ident, ist Deine Frage hinfällig.

Mit Sortieren und Gruppieren kann alles nach Belieben gezählt werden; wie das geht, sollte in jeder SQL-Hilfe angegeben sein. Ob sich Dein spezielles Problem damit lösen lässt, überblicke ich leider nicht.

Gruß Ralf