select x.name, max(x.rank) from matches xjoin ( select name from matches where prop = 1 AND rank > 5 intersect select name from matches where prop = 3 AND rank >= 8) y on x.name = y.name group by x.nameorder by max(rank);

select x.name, max(x.rank) from matches xjoin ( select name from matches where prop = 1 AND rank > 5 intersect select name from matches where prop = 3 AND rank >= 8) y on x.name = y.name group by x.nameorder by max(rank);