Michael Landau:
Зависит от БД и объёма данных.
Иногда решается через join и подзапросы.
Иногда проще выбрать данные и обработать напильником уже в коде.
Для небольших таблиц можно и having
не много не так наверное я не правильно сформулировал.
Надо, чтобы при выборе user_id когда у них одна и таже страница (`page_id`),
она и выбиралась, то есть "WHERE `user_id` IN(1,2)" выводилась одна строка `page_id`
Michael Landau:
DISTINCT указывает выбрать единственное значение из этого столбца. Вместе с GROUP BY имеет смысл в случае если выбираем столбец отличный от того по которому группируем