La fonction de numéro de ligne vous permet d'attribuer un numéro séquentiel à chaque ligne à la suite d'une requête SQL.
La fonction row_number () fait partie des fonctions de fenêtre SQL Server. En utilisant cette fonction, vous pouvez attribuer un entier progressif à chaque ligne de chaque ensemble de partition d'un résultat. Chaque numéro commence à 1 et réinitialise pour les lignes dans chaque partition.
Syntaxe de fonction et valeur de retour
La syntaxe de la fonction est comme indiqué:
Row_number ()Laissez-nous décomposer la syntaxe ci-dessus.
La fonction renvoie en attribuant un numéro séquentiel aux lignes de chaque partition. Comme mentionné, la fonction réinitialisera le numéro de ligne pour chaque nouvelle partition.
SQL Server Row_number (): Exemples
Laissez-nous utiliser un exemple pour mieux comprendre comment utiliser la fonction row_number (). Commencez par créer une base de données d'échantillons avec des données factices comme indiqué dans les requêtes ci-dessous:
Créer une base de données dummy_db;La requête ci-dessus doit renvoyer un ensemble résultant comme indiqué:
Exemple 1
L'instruction SQL suivante utilise la fonction ROW_NUMBER pour attribuer un numéro séquentiel aux lignes de l'ensemble résultant:
Sélectionnez Row_number () sur (La requête ci-dessus doit renvoyer un ensemble de résultats comme indiqué ci-dessous:
Exemple 2
Nous pouvons utiliser la fonction ROW_NUMBER pour localiser l'employé avec le salaire le plus élevé d'un département spécifique.
Considérez l'exemple de requête ci-dessous:
Sélectionnez FirstName, LastName, Salaire, département, ROW_NUMBER () sur (Partition par Order Department by Salary DESC) AS ROW_NUM FROM DUMMY_TABLE;La requête ci-dessus divise les données en partitions logiques basées sur le département. Nous appliquons ensuite la fonction ROW_NUMBER () sur commande par le salaire en ordre décroissant.
Exemple 3
Vous pouvez utiliser la fonction ROW_NUMBER pour la pagination. Étant donné que la fonction ROW_NUMBER attribue un numéro séquentiel à toutes les lignes, nous pouvons l'utiliser pour filtrer pour un nombre spécifique de résultats par page.
Prenez l'exemple ci-dessous:
Sélectionner * à partir deLa requête ci-dessus doit renvoyer une sortie comme suit:
Conclusion
Dans ce guide, nous avons discuté de la façon d'utiliser la fonction SQL Server Row_number () pour attribuer des numéros séquentiels aux lignes dans un ensemble de résultats. De plus, nous avons examiné la syntaxe de fonction et la valeur de retour. Nous espérons que vous avez trouvé cet article utile. Découvrez plus d'articles sur les conseils pour les conseils et les tutoriels.