Maison > base de données > tutoriel mysql > Comment attribuer des numéros de ligne séquentiels par groupe de clés dans SQL ?

Comment attribuer des numéros de ligne séquentiels par groupe de clés dans SQL ?

Patricia Arquette
Libérer: 2024-12-20 15:39:11
original
627 Les gens l'ont consulté

How to Assign Sequential Row Numbers by Key Group in SQL?

Numérotation séquentielle des lignes par groupe de clés en SQL

En SQL, la fonction ROW_NUMBER() attribue des numéros séquentiels aux lignes d'un ensemble de résultats. Pour attribuer des numéros séquentiels par groupe de clés, utilisez la clause PARTITION BY pour regrouper les données par la ou les clés souhaitées.

Voici un exemple pour la table donnée et la sortie souhaitée :

SELECT
    CODE,
    ROW_NUMBER() OVER (PARTITION BY CODE ORDER BY NAME) - 1 AS C_NO,
    NAME
FROM
    MyTable;
Copier après la connexion

Sortie :

CODE | C_NO | NAME
-----|------|------
A    | 0    | Apple
A    | 1    | Angel
A    | 2    | Arizona
B    | 0    | Bravo
C    | 1    | Charlie
C    | 0    | Cat
D    | 0    | Dog
D    | 1    | Data
D    | 2    | Down
D    | 3    | Doppler
Copier après la connexion

Cette requête attribue des numéros de ligne séquentiels (C_NO) à chaque groupe de clés (CODE), en commençant par 0, par ordre croissant de NOM au sein de chaque groupe.

Bases de données prises en charge :

La fonction ROW_NUMBER() avec PARTITION BY est prise en charge dans le bases de données suivantes :

  • SQL Serveur
  • Oracle
  • Postgres
  • Sybase
  • MySQL 8.0
  • MariaDB 10.2
  • SQLite 3.25

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal