résumé: dans ce tutoriel, vous apprendrez à utiliser la fonction SQLite RANK()
pour calculer les rangs des lignes dans le jeu de résultats d’une requête.
Introduction à la fonction SQLite RANK ()
la fonctionRANK()
est une fonction de fenêtre qui attribue un rang à chaque ligne du jeu de résultats d’une requête. Le rang d’une ligne est calculé par un plus le nombre de rangs qui la précède.,
l’exemple suivant illustre La syntaxe de la balise RANK()
fonction:
Dans cette syntaxe:
- tout d’Abord, la balise
PARTITION BY
clause divise le nombre de lignes du résultat en partitions. - Deuxièmement, la clause
ORDER BY
spécifie l’ordre des lignes dans chaque partition. - Troisièmement, la fonction
RANK()
est appliquée à chaque ligne de chaque partition et ré-initialisée lors du franchissement de la limite de partition.
Les mêmes valeurs de colonne recevront les mêmes rangs., Lorsque plusieurs lignes ont le même rang, le rang de la ligne suivante n’est pas consécutive. C’est comme la médaille Olympique dans lequel si deux athlètes partagent la médaille d’or, il n’y aura pas de médaille d’argent.,913ee4e2a9″>
Troisièmement, les données de la requête à partir de la balise RankDemo
table:
le Quatrième, utiliser la balise RANK()
fonction à assigner des rangs pour les lignes du résultat de RankDemo
table:
Voici le résultat:
Comme vous pouvez le voir clairement à partir de la sortie, les troisième et quatrième lignes de recevoir le même rang parce qu’ils ont la même valeur., La cinquième ligne obtient le rang 5 car la fonction RANK()
ignore le rang 4.
SQLite Rank() exemples de fonctions
pour démontrer la fonctionRANK()
, nous utiliserons la tabletracks
de l’exemple de base de données.,
Utilisation de SQLite RANG() fonction avec la clause ORDER BY exemple
L’instruction suivante utilise la balise RANK()
fonction pour classer les pistes par leurs longueurs:
Dans cet exemple, nous avons sauté le PARTITION BY
clause, par conséquent, la balise RANK()
fonction gère l’ensemble comme une seule partition.
Tout d’abord, la clauseORDER BY
trie les pistes par leur longueur (colonneMilliseconds
).,
Deuxièmement, la fonctionRANK()
est appliquée à chaque ligne du jeu de résultats en considérant l’ordre des pistes par leur longueur.,
utilisation de la fonction SQLite RANK() avec PARTITION par exemple
l’instruction suivante utilise la fonction RANK()
pour attribuer un rang à chaque piste de chaque album:
l’image suivante montre la sortie partielle:
dans cet exemple:
- tout d’abord, la clause
PARTITION BY
divise les pistes en albums. - ensuite, la clause
ORDER BY
trie les pistes par leur longueur., - enfin, la fonction
RANK()
attribue un rang à chaque piste de chaque album. Si l’album Change, la fonctionRANK()
réinitialise la valeur de rang.
Il est possible de trouver la deuxième plus longue piste dans chaque album à l’aide des sous-requête suivant:
le résultat est Le suivant:
Dans ce tutoriel, vous avez appris comment utiliser SQLite RANK()
fonction pour assigner un rang à chaque ligne du jeu de résultats.,
- ce tutoriel a Été utile ?
- Ouinon