Pokud jsem vám správně rozuměl, mělo by to stačit:
SELECT page_id, count(*)
FROM tags
WHERE tag IN ('New Zealand', 'Trekking')
GROUP BY page_id
HAVING count(*) > 1
Pokud vybíráte ze stejné tabulky, nemusíte používat UNION.
Pokud jsem vám správně rozuměl, mělo by to stačit:
SELECT page_id, count(*)
FROM tags
WHERE tag IN ('New Zealand', 'Trekking')
GROUP BY page_id
HAVING count(*) > 1
Pokud vybíráte ze stejné tabulky, nemusíte používat UNION.