Matching-Algorithmus in SQL

Ich habe die folgende Tabelle in meiner Datenbank.

# select * FROM matches;
 name | prop |  rank
------+------+-------
 carl |    1 |     4
 carl |    2 |     3
 carl |    3 |     9
 alex |    1 |     8
 alex |    2 |     5
 alex |    3 |     6
 alex |    3 |     8
 alex |    2 |    11
 anna |    3 |     8
 anna |    3 |    13
 anna |    2 |    14
(11 rows)

Jede Person wird bei der Arbeit nach verschiedenen Eigenschaften / Kriterien eingestuft, die als "Requisite" bezeichnet werden, und die Leistung wird als "Rang" bezeichnet. Die Tabelle enthält mehrere Werte von (name, prop), wie das Beispiel zeigt. Ich möchte aus einigen Anforderungen den besten Kandidaten auswählen. Z.B. Ich brauche einen Kandidaten, der hat(prop=1 AND rank > 5) und(prop=3 AND rank >= 8). Dann müssen wir in der Lage sein, die Kandidaten nach ihrer Rangfolge zu sortieren, um den besten Kandidaten zu erhalten.

EDIT: Jede Person muss ALLE Anforderungen erfüllen

Wie kann ich das in SQL machen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage