Maison >base de données >tutoriel mysql >Comment combiner COUNT(*) à partir de plusieurs tables dans MySQL ?

Comment combiner COUNT(*) à partir de plusieurs tables dans MySQL ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-04 16:47:02959parcourir

How to Combine COUNT(*) from Multiple Tables in 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!

Déclaration:
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