résumé: dans ce tutoriel, vous apprendrez comment utiliser SQL Server RANK()
fonction pour calculer un rang pour chaque ligne dans une partition d’un jeu de résultats.
Introduction à la fonction SQL Server RANK ()
la fonctionRANK()
est une fonction de fenêtre qui attribue un rang à chaque ligne d’une partition d’un jeu de résultats.
Les lignes dans une partition qui ont les mêmes valeurs recevront le même rang. Le rang de la première ligne dans une partition est un., La fonction RANK()
ajoute le nombre de lignes liées au rang lié pour calculer le rang de la ligne suivante, par conséquent, les rangs peuvent ne pas être consécutifs.
ce qui suit montre la syntaxe de la fonctionRANK()
:
dans cette syntaxe:
- tout d’abord, la clause
PARTITION BY
divise les lignes des partitions du jeu de résultats auxquelles la fonction est appliquée. - Deuxièmement, la clause
ORDER BY
spécifie l’ordre de tri logique des lignes de chaque partition à laquelle la fonction est appliquée.,
la fonctionRANK()
est utile pour les rapports top-N et bottom-n., »>
Deuxièmement, insérer des lignes dans la balise sales.rank_demo
table:
Code language: SQL (Structured Query Language) (sql)
Troisièmement, les données de la requête à partir de la balise sales.rank_demo
table:
Code language: SQL (Structured Query Language) (sql)
le Quatrième, utiliser la balise ROW_NUMBER()
pour assigner des rangs pour les lignes du résultat de sales.rank_demo
table:
Code language: SQL (Structured Query Language) (sql)
Voici le résultat:
Comme le montre clairement à partir de la sortie, les deuxième et troisième rangées de recevoir le même rang, car ils ont la même valeur de B., Les quatrième et cinquième lignes obtiennent le rang 4 car la fonction RANK()
ignore le rang 3 et les deux ont également les mêmes valeurs.,iv id= »6657ab2abb »>
fonction:
à l’Aide de SQL Server RANG() fonction sur un ensemble de résultats exemple
L’exemple suivant utilise la balise RANK()
fonction à assigner des rangs pour les produits par leur prix de liste:
Voici le résultat:
Dans cet exemple, parce que nous avons sauté le PARTITION BY
clause, la balise RANK()
fonction traités les résultats ensemble comme une seule partition.,
la fonctionRANK()
attribue un rang à chaque ligne de l’ensemble de résultats triés par prix de liste de haut en bas.,
utilisation de la fonction SQL Server RANK() sur des partitions exemple
cet exemple utilise la fonction RANK()
pour attribuer un rang à chaque produit par prix catalogue dans chaque marque et renvoie les produits dont le rang est inférieur ou égal à trois:
l’image suivante montre la sortie:
dans cet exemple:
- tout d’abord, la clause
PARTITION BY
divise les produits en partitions par Brand ID., - Deuxièmement, la clause
ORDER BY
trie les produits dans chaque partition par prix catalogue. - Troisièmement, la requête externe renvoie les produits dont les valeurs de rang sont inférieures ou égales à trois.
la fonctionRANK()
est appliquée à chaque ligne de chaque partition et réinitialisée lors du franchissement de la limite de la partition.
dans ce tutoriel, vous avez appris à utiliser la fonction SQL Server RANK()
pour attribuer un rang à chaque ligne d’une partition d’un jeu de résultats.