Maison > base de données > tutoriel mysql > Comment identifier efficacement les identifiants manquants dans une table MySQL ?

Comment identifier efficacement les identifiants manquants dans une table MySQL ?

Patricia Arquette
Libérer: 2024-11-30 10:30:11
original
204 Les gens l'ont consulté

How to Efficiently Identify Missing IDs in a MySQL Table?

Identification des ID manquants dans une table MySQL

Dans une table MySQL, il est possible d'avoir des lacunes dans la séquence d'ID, comme des des valeurs telles que "2, 3 et 5" dans l'exemple donné. Pour récupérer efficacement ces identifiants manquants, une requête SQL spécifique peut être utilisée.

Requête SQL pour identifier les identifiants manquants

La requête suivante récupère tous les identifiants manquants dans un écart :

SELECT a.id+1 AS start, MIN(b.id) - 1 AS end
    FROM testtable AS a, testtable AS b
    WHERE a.id < b.id
    GROUP BY a.id
    HAVING start < MIN(b.id)
Copier après la connexion

Explication de la requête

Cette requête utilise deux copies de la même table, notées "a" et "b", pour effectuer une opération d'auto-jointure efficace.

  • La clause WHERE garantit que la table "a" a des ID inférieurs à ceux de la table "b", identifiant les identifiants manquants potentiels.
  • La clause GROUP BY regroupe les résultats par identifiants de départ dans "a".
  • La clause HAVING vérifie si les ID de départ sont inférieurs à l'ID minimum dans "b", confirmant qu'il y a un écart.
  • Le résultat sélectionne l'ID de début ("start") et l'ID de fin ("fin") de chaque écart.

Informations supplémentaires

Pour plus d'informations sur ce sujet, reportez-vous à ce qui suit ressource :

  • [Écarts de séquence dans MySQL](https://web.archive.org/web/20220706195255/http://www.codediesel.com/mysql/sequence-gaps-in- mysql/)

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