Sie könnten die übereinstimmenden Ausdrücke zählen. MySQL gibt 1 für wahr und 0 für falsch zurück.
WHERE (FirstName = ?) + (LastName = ?) + (... = ?) > 2
Auch hierüber können Sie bestellen. Sie sollten absteigend sortieren, um sicherzustellen, dass die höheren Übereinstimmungen zuerst angezeigt werden.
ORDER BY ((FirstName = ?) + (LastName = ?) + (... = ?)) DESC