Distintivo por ter outros distintivos específicos

Estou trabalhando em uma consulta SQL para conceder um emblema aos usuários quando eles tiverem todos os emblemas de uma lista específica (por exemplo, IDs 3, 4 e 5).

Sei que esta consulta de emblema funciona para um único emblema:

SELECT user_id, count(id), current_timestamp AS granted_at
FROM user_badges 
WHERE badge_id = 4
GROUP BY user_id

Mas como faria para aplicar isso a vários IDs de emblema? Adicionar outro badge_id = X não funcionará, pois isso procura por um único emblema. Intersect parece ser a solução, mas não é suportado. Esta consulta será executada diariamente e não terá como alvo nenhuma postagem.

Obrigado!

Eu uso algo assim para criar um Nível de Usuário Alternativo para meus membros.
Você pode substituir ib.badge_id pelo ID da badge que seus membros devem ter conquistado.

SELECT user_id, CURRENT_TIMESTAMP granted_at, NULL post_id
FROM user_badges pb
WHERE badge_id = 1
AND EXISTS (
  SELECT 1 FROM user_badges ib
  WHERE pb.user_id = ib.user_id
  AND ib.badge_id = 11
)
AND EXISTS (
  SELECT 1 FROM user_badges ib
  WHERE pb.user_id = ib.user_id
  AND ib.badge_id = 124
)
AND EXISTS (
  SELECT 1 FROM user_badges ib
  WHERE pb.user_id = ib.user_id
  AND ib.badge_id = 123
)
AND EXISTS (
  SELECT 1 FROM user_badges ib
  WHERE pb.user_id = ib.user_id
  AND ib.badge_id = 127
)
AND EXISTS (
   SELECT 1 FROM user_badges ib
   WHERE pb.user_id = ib.user_id
  AND ib.badge_id = 5
)

Obrigado pela sua ajuda, isso funciona perfeitamente!