Maison >base de données >tutoriel mysql >Comment puis-je condenser des données dans MySQL à l'aide d'une instruction CASE ?
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!