samenvatting: in deze tutorial leert u hoe u SQLite RANK()
functie gebruikt om de rijen voor rijen in de resultatenreeks van een query te berekenen.
Introduction to SQLite RANK() function
deRANK()
functie is een window functie die een rang toewijst aan elke rij in de resultatenreeks van een query. De rang van een rij wordt berekend door één plus het aantal rangen dat ervoor komt.,
het volgende toont de syntaxis van de RANK()
functie:
In deze syntaxis:
- eerst verdeelt de
PARTITION BY
de rijen van het ingestelde resultaat in partities. - ten tweede, de
ORDER BY
clausule specificeert de orders van de rijen in elke a partitie. - Ten derde wordt de functie
RANK()
toegepast op elke rij in elke partitie en opnieuw geïnitialiseerd bij het overschrijden van de partitiegrens.
dezelfde kolomwaarden krijgen dezelfde rangen., Wanneer meerdere rijen dezelfde rang hebben, is de rang van de volgende rij niet opeenvolgend. Dit is als de Olympische medaille waarbij als twee atleten de gouden medaille delen, er geen zilveren medaille zal zijn.,913ee4e2a9″>
ten Derde, een query gegevens uit het RankDemo
tabel:
ten Vierde, gebruik de RANK()
functie toewijzen rangen om de rijen in de resultaatset van RankDemo
tabel:
Hier is de output:
Zoals je duidelijk kunt zien van de uitvoer, de derde en de vierde rij wordt het dezelfde rang zijn, omdat ze dezelfde waarde hebben., De vijfde rij krijgt de rang 5 omdat de functie RANK()
de rang 4 overslaat.
SQLite RANK() functievoorbeelden
om de RANK()
functie aan te tonen, gebruiken we de tracks
tabel uit de voorbeelddatabase.,
het Gebruik van SQLite RANK() functie met de component ORDER BY voorbeeld
De volgende instructie wordt het RANK()
functie rang tracks door hun lengtes:
In dit voorbeeld, we sloegen de PARTITION BY
component, daarom is het RANK()
functie behandelt de gehele resultaatset als een enkele partitie.
eerst sorteert deORDER BY
de tracks op hun lengte (Milliseconds
kolom).,
ten tweede wordt de functie RANK()
toegepast op elke rij in de resultatenreeks, rekening houdend met de volgorde van de sporen door hun lengte.,
het Gebruik van SQLite RANK() functie met een PARTITIE voorbeeld
De volgende instructie wordt het RANK()
functie voor het toewijzen van een classificatie op elke track in elk album:
De volgende afbeelding toont de gedeeltelijke output:
In dit voorbeeld:
- Eerste, de
PARTITION BY
component verdeelt de tracks in albums. - dan sorteert de
ORDER BY
de tracks op hun lengte., - ten slotte kent de functie
RANK()
Een rang toe aan elke track in elk album. Als het album verandert, herinitialiseert de functieRANK()
de rangwaarde.
Het is mogelijk om de tweede langste track in elk album met behulp van de volgende subquery:
De output is als volgt:
In deze les hebt u geleerd hoe u de SQLite RANK()
functie voor het toewijzen van een classificatie op elke rij in een resultaat.,
- Was deze tutorial nuttig ?
- YesNo