Underfrågan körs för varje rad eftersom det är en korrelerad fråga. Man kan göra en korrelerad fråga till en icke-korrelerad fråga genom att välja allt från underfrågan, som så:
SELECT * FROM
(
SELECT relevant_field
FROM some_table
GROUP BY relevant_field
HAVING COUNT(*) > 1
) AS subquery
Den slutliga frågan skulle se ut så här:
SELECT *
FROM some_table
WHERE relevant_field IN
(
SELECT * FROM
(
SELECT relevant_field
FROM some_table
GROUP BY relevant_field
HAVING COUNT(*) > 1
) AS subquery
)