samenvatting: in deze tutorial leert u hoe u SQL Server RANK()
functie gebruikt om een rang te berekenen voor elke rij binnen een partitie van een resultaatset.
Introduction to SQL Server rank() function
deRANK()
functie is een window functie die een rang toewijst aan elke rij binnen een partitie van een resultaatset.
de rijen binnen een partitie die dezelfde waarden hebben, krijgen dezelfde rang. De rang van de eerste rij binnen een partitie is één., De functie RANK()
voegt het aantal gebonden rijen toe aan de gebonden rang om de rang van de volgende rij te berekenen, daarom kunnen de rangen niet opeenvolgend zijn.
het volgende toont de syntaxis van de RANK()
functie:
In deze syntaxis:
- eerst verdeelt de
PARTITION BY
clausule de rijen van de resultaatset partities waarop de functie wordt toegepast. - ten tweede, de
ORDER BY
clausule specificeert de logische sorteervolgorde van de rijen in elke a partitie waarop de functie wordt toegepast.,
de RANK()
functie is nuttig voor top-N en bottom-N rapporten.,”>
ten Tweede, plaats een paar rijen in de sales.rank_demo
tabel:
Code language: SQL (Structured Query Language) (sql)
ten Derde, een query gegevens uit het sales.rank_demo
tabel:
Code language: SQL (Structured Query Language) (sql)
ten Vierde, gebruik de ROW_NUMBER()
toewijzen rangen om de rijen in de resultaatset van sales.rank_demo
tabel:
Code language: SQL (Structured Query Language) (sql)
Hier is de output:
Als blijkt duidelijk uit de resultaten, is het tweede en derde rij wordt het dezelfde rang zijn, omdat ze dezelfde waarde hebben B., De vierde en vijfde rij krijgen de rang 4 omdat de RANK()
functie slaat de rang 3 en beide hebben ook dezelfde waarden.,iv id=”6657ab2abb”>
functie:
met Behulp van SQL Server RANK() functie op een resultaatset voorbeeld
in Het volgende voorbeeld gebruikt de RANK()
functie toewijzen rangen om de producten van hun lijst prijzen:
Hier is het resultaat:
In dit voorbeeld, omdat we sloegen de PARTITION BY
component, de RANK()
functie behandeld de gehele resultaatset als een enkele partitie.,
de functie RANK()
kent een rang toe aan elke rij binnen de resultaatset gesorteerd op catalogusprijs van hoog naar laag.,
met Behulp van SQL Server RANK() functie over partities voorbeeld
Dit voorbeeld gebruikt de RANK()
functie voor het toewijzen van een classificatie op elk product door adviesprijs in ieder merk en geeft producten met een rang lager dan of gelijk aan drie:
De volgende afbeelding toont de output:
In dit voorbeeld:
- Eerste, de
PARTITION BY
component verdeelt de producten in partities die door brand-Id., - ten tweede, de
ORDER BY
clausule sorteert producten in elke partitie op basis van catalogusprijzen. - Ten derde geeft de outer query de producten terug waarvan de rangwaarden kleiner of gelijk zijn aan drie.
de RANK()
functie wordt toegepast op elke rij in elke partitie en opnieuw geïnitialiseerd wanneer de grens van de partitie wordt overschreden.
in deze tutorial hebt u geleerd hoe u de SQL Server RANK()
functie kunt gebruiken om een rang toe te wijzen aan elke rij binnen een partitie van een resultaatset.