Maison >base de données >tutoriel mysql >Comment puis-je condenser des données dans MySQL à l'aide d'une instruction CASE ?

Comment puis-je condenser des données dans MySQL à l'aide d'une instruction CASE ?

DDD
DDDoriginal
2024-12-22 07:23:00500parcourir

How Can I Condense Data in MySQL Using a CASE Statement?

Condensation de données avec une instruction Case dans MySQL

Lorsque vous travaillez avec des données stockées dans des bases de données relationnelles, il peut être utile de manipuler le contenu de colonnes en fonction de critères spécifiques. C'est là que l'instruction CASE entre en jeu, fournissant un moyen d'attribuer dynamiquement des valeurs aux colonnes en fonction d'expressions conditionnelles, vous permettant ainsi de restructurer vos données pour une analyse et des rapports améliorés.

Exemple : Génération de colonnes conditionnelles

Supposons que vous ayez une table de base de données appelée 'tbl_transaction' avec des colonnes pour id, action_type, action_heading, et montant_action. Pour générer deux nouvelles colonnes, Income Amt et Expense Amt, nous pouvons utiliser l'instruction CASE pour les remplir de manière conditionnelle en fonction de la colonne action_type :

SELECT
    id,
    action_heading,
    CASE
        WHEN action_type = 'Income' THEN action_amount
        ELSE NULL
    END AS income_amt,
    CASE
        WHEN action_type = 'Expense' THEN action_amount
        ELSE NULL
    END AS expense_amt

FROM tbl_transaction;

Cette requête produira un résultat similaire à :

ID Heading Income Amt Expense Amt
1 ABC 1000 NULL
2 XYZ NULL 2000

Comme vous pouvez le voir, la colonne Montant des revenus est renseignée avec les valeurs des transactions de revenus, tandis que la colonne Montant des dépenses est renseignée avec les valeurs des dépenses. transactions.

Syntaxe alternative

MySQL fournit également la fonction IF() comme alternative à l'instruction CASE pour gérer les opérations conditionnelles. Cependant, l'instruction CASE est préférable dans ce cas car elle est plus polyvalente et portable sur différents moteurs de base de données.

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