J'ai données au format suivantOracle requête SQL: comment utiliser le nombre
userid amount term APR
1 10 5 1
1 10 4 2
2 20 6 1
2 20 4 3
2 20 3 1
que je veux faire pour par le montant, la durée, APR donc de la production, je veux montant maximum et il est terme correspondant, avril Dans le cas où le montant est le même, choisissez-en un avec le terme maximum et même chose si le terme est également le même. mais la combinaison de ces trois est toujours unique.
colonnes de sortie:
userid, amount, term, apr, numberOfRowsForEachUser
1 10 5 1 2
2 20 6 1 3
Question: Je suis en mesure d'obtenir les quatre premières colonnes, mais ne savez pas comment obtenir « Nombre total d'offres » ou «nombre total de lignes par utilisateur.
Ma requête ressemble à ceci.
select
userid,amount,term,apr
from
(select userid, amount, term, apr
RANK() OVER (PARTITION BY userid ORDER BY amount,term,apr) amount_rank,
from
tableXYZ
)
where amount_rank = 1