Dans cette requête, l'affiche a rencontré des valeurs manquantes dans une colonne à incrémentation automatique d'une table, bien qu'il n'y ait pas de doublons. Le but du problème est d'identifier et de renvoyer les valeurs des nombres manquants, qui peuvent ne pas être consécutifs, comme les identifiants 71-82.
Meilleure solution
JustPlainMJS propose une alternative qui améliore considérablement les performances.
Solution moins efficace
Pour les tableaux de toute taille, envisagez l'approche suivante :
<code class="language-sql">SELECT (t1.id + 1) as gap_starts_at, ( SELECT MIN(t3.id) -1 FROM arrc_vouchers t3 WHERE t3.id > t1.id ) as gap_ends_at FROM arrc_vouchers t1 WHERE NOT EXISTS ( SELECT t2.id FROM arrc_vouchers t2 WHERE t2.id = t1.id + 1 ) HAVING gap_ends_at IS NOT NULL</code>
Dans cette requête :
gap_starts_at
représente le premier identifiant dans l'espace actuel. gap_ends_at
représente le dernier identifiant dans l'espace actuel. 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!