La subquery correlata restituisce il numero di persone con lo stesso paese e un ID più alto. Quindi, se lo confronti con < 2
selezionerai solo i due ID più alti per ogni paese. Puoi farti un'idea migliore guardando i risultati della selezione della sottoquery invece di usarla come vincolo:
SELECT co.id, co.person, co.country,
(
SELECT COUNT(*)
FROM person ci
WHERE co.country = ci.country -- controlling grouping column
AND co.id < ci.id -- controlling min or max
) AS higher_ids
FROM person co
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=9c3cfe469dd299b3160d39e97e7
Nota che, a meno che non ci siano ottimizzazioni che cercano specificamente questo modello, cosa di cui dubito fortemente, questa query sarà O(N^2).