Algoritmo de coincidencia en SQL
Tengo la siguiente tabla en mi base de datos.
# 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)
Cada persona se clasifica en el trabajo por diferentes propiedades / criterios llamados 'prop' y el rendimiento se llama 'ranking'. La tabla contiene múltiples valores de (nombre, accesorio) como muestra el ejemplo. Quiero obtener el mejor candidato siguiendo algunos requisitos. P.ej. Necesito un candidato que tenga(prop=1 AND rank > 5)
y(prop=3 AND rank >= 8)
. Entonces debemos poder clasificar a los candidatos por sus clasificaciones para obtener el mejor candidato.
EDITAR: cada persona debe cumplir con TODOS los requisitos
¿Cómo puedo hacer esto en SQL?