Sobes.tech
Senior

O que deve ser adicionado à consulta para filtrar registros com mais de duas contas do usuário?

sobes.tech IA

Resposta da IA

Para filtrar os registos onde o utilizador tem mais de duas contas, deve adicionar agregação e uma condição sobre o número de contas na consulta SQL. Por exemplo, se houver uma tabela accounts com o campo user_id, pode usar GROUP BY e HAVING:

SELECT user_id
FROM accounts
GROUP BY user_id
HAVING COUNT(account_id) > 2;

Se desejar obter os próprios registos dos utilizadores com mais de duas contas, pode usar uma subconsulta ou JOIN:

SELECT *
FROM users u
WHERE (
  SELECT COUNT(*)
  FROM accounts a
  WHERE a.user_id = u.user_id
) > 2;

Ou usando IN:

SELECT *
FROM users
WHERE user_id IN (
  SELECT user_id
  FROM accounts
  GROUP BY user_id
  HAVING COUNT(account_id) > 2
);

Assim, o elemento-chave é HAVING COUNT(...) > 2 para filtrar pelo número de registos relacionados.