Maison > base de données > tutoriel mysql > Comment additionner les valeurs de rachat en SQL en fonction d'une condition mensuelle ?

Comment additionner les valeurs de rachat en SQL en fonction d'une condition mensuelle ?

Barbara Streisand
Libérer: 2024-12-23 15:41:15
original
526 Les gens l'ont consulté

How to Sum Cash Values in SQL Based on a Monthly Condition?

Somme SQL avec condition (y compris les calculs mensuels)

Vous disposez d'une grande instruction SQL qui calcule le montant total en espèces pour chaque transaction unique ID en utilisant la ligne suivante :

select sum(cash) from Table a where a.branch = p.branch 
and a.transID = p.transID) TotalCash
Copier après la connexion

Maintenant, vous devez modifier le relevé pour ne totaliser que les valeurs de trésorerie qui ont une ValueDate dans le mois dernier. Voici une solution :

select sum(CASE WHEN ValueDate > @startMonthDate THEN cash ELSE 0 END) 
from Table a where a.branch = p.branch 
and a.transID = p.transID) TotalMonthCash
Copier après la connexion

Explication

L'instruction CASE utilise la syntaxe de l'expression CASE recherchée pour évaluer une expression booléenne (dans ce cas, WHEN ValueDate > @ startMonthDate) et renvoie un résultat correspondant (ici, cash). Si la condition n'est pas remplie, elle renvoie 0 à la place.

Conseil d'optimisation

Si les performances posent problème, envisagez d'utiliser JOIN et GROUP BY au lieu d'une sous-requête dépendante. pour une meilleure efficacité.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal