


Comment effectuer une agrégation conditionnelle avec SUM et COUNT dans MySQL ?
Agrégation conditionnelle avec SUM et COUNT dans MySQL
Lorsque vous travaillez avec des bases de données relationnelles, il est souvent nécessaire d'effectuer des agrégations conditionnelles pour résumer les données en fonction sur des critères précis. MySQL propose plusieurs façons d'y parvenir, y compris l'utilisation des instructions IF() et CASE.
Utilisation de l'instruction IF()
Dans votre exemple, vous avez tenté pour utiliser l'instruction IF() pour calculer le nombre de lignes où kind est égal à 1. Cependant, MySQL n'autorise pas l'utilisation de l'instruction IF() dans les fonctions d'agrégation comme SUM et COUNT. En effet, IF() renvoie une valeur scalaire, tandis que les fonctions d'agrégation nécessitent une expression de colonne en entrée.
À l'aide de l'instruction CASE
Pour effectuer une agrégation conditionnelle, vous pouvez utilisez l'instruction CASE. L'instruction CASE vous permet de spécifier plusieurs conditions et de renvoyer différentes valeurs en fonction de ces conditions.
La requête suivante utilise l'instruction CASE pour calculer le nombre de lignes où kind est égal à 1 :
SELECT COUNT(id), SUM(hour) AS totHour, SUM(CASE WHEN kind = 1 THEN 1 ELSE 0 END) AS countKindOne FROM your_table;
Dans cette requête :
- L'instruction CASE est utilisée pour évaluer la condition kind = 1.
- Si la condition est VRAIE, elle renvoie 1.
- Si la condition est FALSE, elle renvoie 0.
- Le résultat de l'instruction CASE est ensuite transmis à la fonction d'agrégation SUM().
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

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

Quels sont les outils de GUI MySQL populaires (par exemple, MySQL Workbench, PhpMyAdmin)?

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