Tengo una tabla llamada PAYMENT
. Dentro de esta tabla tengo una identificación de usuario, un número de cuenta, un código postal y una fecha. Me gustaría encontrar todos los registros de todos los usuarios que tienen más de un pago por día con el mismo número de cuenta.
ACTUALIZACIÓN: Además, debe haber un filtro que solo cuente los registros cuyo código postal es diferente.
Así es como se ve la tabla:
El | ID_usuario | cuenta_no | zip | fecha | El | 1 | 123 | 55555 | 12-DIC-09 | El | 1 | 123 | 66666 | 12-DIC-09 | El | 1 | 123 | 55555 | 13-DIC-09 | El | 2 | 456 77777 | 14-DIC-09 | El | 2 | 456 77777 | 14-DIC-09 | El | 2 | 789 77777 | 14-DIC-09 | El | 2 | 789 77777 | 14-DIC-09 |
El resultado debería ser similar a esto:
El | ID_usuario | contar | El | 1 | 2 |
¿Cómo expresarías esto en una consulta SQL? Estaba pensando en unirme, pero por alguna razón mi cuenta está equivocada.
2
se cuenta4
: Deseará descartar laAccount_no
agrupación, creo.Prueba esta consulta:
fuente
No recomendaría la
HAVING
palabra clave para los novatos, es esencialmente para fines heredados .No tengo claro cuál es la clave de esta tabla ( me pregunto si está completamente normalizada ), por lo tanto, me resulta difícil seguir su especificación:
Entonces tomé una interpretación literal.
Lo siguiente es más detallado pero podría ser más fácil de entender y, por lo tanto, mantener (he usado un CTE para la tabla
PAYMENT_TALLIES
pero podría serVIEW
:fuente
fuente