Maison > Article > base de données > Comment combiner COUNT(*) à partir de plusieurs tables dans MySQL ?
Combiner COUNT(*) à partir de plusieurs tables dans MySQL
Dans MySQL, vous pouvez récupérer le nombre de lignes de plusieurs tables en tirant parti d'un combinaison de sous-requêtes. Voici comment procéder :
Pour chaque table à partir de laquelle vous souhaitez compter les lignes, créez une sous-requête qui sélectionne COUNT(*) :
<code class="sql">(SELECT COUNT(*) FROM table1 WHERE someCondition) AS table1Count</code>
Combinez ces sous-requêtes dans une instruction SELECT principale pour obtenir les décomptes :
<code class="sql">SELECT (SELECT COUNT(*) FROM table1 WHERE someCondition) AS table1Count, (SELECT COUNT(*) FROM table2 WHERE someCondition) AS table2Count, (SELECT COUNT(*) FROM table3 WHERE someCondition) AS table3Count</code>
Cela renverra un tableau avec trois colonnes, chacune représentant le nombre de lignes dans le tableau correspondant.
Exemple :
Disons que vous disposez des tables et des conditions suivantes :
<code class="sql">table1: WHERE someCondition = True table2: WHERE someCondition = False table3: WHERE someCondition = True</code>
En utilisant la technique de sous-requête ci-dessus, vous obtiendriez le résultat suivant :
<code class="sql">+-------------+-------------+-------------+ | table1Count | table2Count | table3Count | +-------------+-------------+-------------+ | 14 | 27 | 0 | +-------------+-------------+-------------+</code>
Cela démontre comment vous pouvez efficacement obtenez les décomptes de plusieurs tables en une seule requête.
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!