


Comment agréger efficacement plusieurs colonnes de différentes tables dans une seule instruction MySQL ?
Jan 21, 2025 am 11:12 AMConsolidation des données de plusieurs tables avec une seule requête MySQL
Au départ, l'utilisation de plusieurs sous-requêtes pour agréger les données de diverses tables donnait des résultats inexacts, seule la première colonne affichant les valeurs correctes. Pour résoudre ce problème, une méthode plus efficace est nécessaire.
La solution la plus efficace implique l'agrégation conditionnelle au sein d'une seule requête de table. Cette approche évite les limitations de plusieurs sous-requêtes et produit des résultats précis. La requête suivante illustre cette technique :
SELECT DAY_IN, COUNT(*) AS arr, SUM(IF(PAT_STATUS LIKE '%ong%', 1, 0)) AS ONG1, SUM(IF(PAT_STATUS LIKE '%rtde%', 1, 0)) AS RTED, SUM(IF(PAT_STATUS LIKE '%pol%', 1, 0)) AS POL1, SUM(IF(PAT_STATUS LIKE '%para%', 1, 0)) AS para FROM t_hospital WHERE DAY_IN BETWEEN @start_check AND @finish_check AND RES_DATE BETWEEN @start_res AND @finish_res AND ID_daily_hos = @daily_hos GROUP BY DAY_IN
Cette requête utilise la fonction IF()
pour compter conditionnellement les occurrences en fonction de la colonne PAT_STATUS
. Chaque ligne n'est comptée qu'une seule fois, contribuant à une seule colonne agrégée. La fonction SUM()
totalise ensuite ces décomptes conditionnels pour chaque DAY_IN
.
Cette approche à requête unique fournit une méthode concise et précise pour agréger les données de différentes colonnes au sein de la même table, résolvant ainsi le problème des résultats inexacts obtenus à partir de la méthode de sous-requête multiple d'origine.
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Réduisez l'utilisation de la mémoire MySQL dans Docker

Comment modifier une table dans MySQL en utilisant l'instruction ALTER TABLE?

Comment résoudre le problème de MySQL ne peut pas ouvrir la bibliothèque partagée

Exécutez MySQL dans Linux (avec / sans conteneur Podman avec phpmyadmin)

Exécuter plusieurs versions MySQL sur macOS: un guide étape par étape

Comment sécuriser MySQL contre les vulnérabilités communes (injection SQL, attaques par force brute)?

Comment configurer le cryptage SSL / TLS pour les connexions MySQL?
