Utilisez SQL pour trouver des lacunes dans l'exécution des compteurs
SQL fournit un mécanisme puissant pour rechercher les valeurs manquantes dans une séquence de compteurs en cours d'exécution dans une table.
Pour déterminer la première valeur manquante dans la colonne du compteur d'exécutions (par exemple, les valeurs 1, 2, 4 et 5 sont présentes, mais 3 manque), vous pouvez utiliser la technique SQL suivante :
MySQL et PostgreSQL :
<code class="language-sql">SELECT id + 1 FROM mytable mo WHERE NOT EXISTS ( SELECT NULL FROM mytable mi WHERE mi.id = mo.id + 1 ) ORDER BY id LIMIT 1;</code>
SQL Serveur :
<code class="language-sql">SELECT TOP 1 id + 1 FROM mytable mo WHERE NOT EXISTS ( SELECT NULL FROM mytable mi WHERE mi.id = mo.id + 1 ) ORDER BY id;</code>
Oracle :
<code class="language-sql">SELECT * FROM ( SELECT id + 1 AS gap FROM mytable mo WHERE NOT EXISTS ( SELECT NULL FROM mytable mi WHERE mi.id = mo.id + 1 ) ORDER BY id ) WHERE rownum = 1;</code>
ANSI SQL (le moins efficace) :
<code class="language-sql">SELECT MIN(id) + 1 FROM mytable mo WHERE NOT EXISTS ( SELECT NULL FROM mytable mi WHERE mi.id = mo.id + 1 );</code>
Systèmes prenant en charge les fonctions de fenêtre coulissante :
<code class="language-sql">SELECT previd + 1 FROM ( SELECT id, LAG(id) OVER (ORDER BY id) previd FROM mytable ) q WHERE previd < id LIMIT 1;</code>
En utilisant l'une de ces techniques SQL, vous pouvez identifier efficacement les lacunes manquantes dans les colonnes des compteurs d'exécutions dans les tables SQL, quel que soit le système de base de données que vous utilisez.
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!