Eu tenho uma tabela chamada PAYMENT
. Nesta tabela, tenho um ID do usuário, um número de conta, um CEP e uma data. Gostaria de encontrar todos os registros para todos os usuários que têm mais de um pagamento por dia com o mesmo número de conta.
ATUALIZAÇÃO: Além disso, deve haver um filtro que conte apenas os registros cujo CEP é diferente.
É assim que a tabela se parece:
| user_id | account_no | zip | data | | 1 | 123 55555 12-dez-09 | 1 | 123 66666 12-dez-09 | 1 | 123 55555 13-dez-09 | 2 456 77777 14-dez-09 | 2 456 77777 14-dez-09 | 2 789 77777 14-dez-09 | 2 789 77777 14-dez-09
O resultado deve ser semelhante a este:
| user_id | contar | | 1 | 2
Como você expressaria isso em uma consulta SQL? Eu estava pensando em participar, mas por algum motivo minha contagem está errada.
2
uma contagem de4
- Você vai querer descartar oAccount_no
agrupamento, eu acho.Tente esta consulta:
fonte
Eu não recomendaria a
HAVING
palavra - chave para iniciantes, é essencialmente para fins legados .Não sei ao certo qual é a chave dessa tabela (ela está totalmente normalizada , eu me pergunto?); Conseqüentemente, acho difícil seguir sua especificação:
Então, eu fiz uma interpretação literal.
O seguinte é mais detalhado, mas poderia ser mais fácil de entender e, portanto, manter (usei um CTE para a tabela,
PAYMENT_TALLIES
mas poderia ser umVIEW
:fonte
fonte