Jeśli dobrze zrozumiałem, to powinno wystarczyć:
SELECT page_id, count(*)
FROM tags
WHERE tag IN ('New Zealand', 'Trekking')
GROUP BY page_id
HAVING count(*) > 1
Nie musisz używać UNION, jeśli wybierasz z tej samej tabeli.
Jeśli dobrze zrozumiałem, to powinno wystarczyć:
SELECT page_id, count(*)
FROM tags
WHERE tag IN ('New Zealand', 'Trekking')
GROUP BY page_id
HAVING count(*) > 1
Nie musisz używać UNION, jeśli wybierasz z tej samej tabeli.