Maison > base de données > tutoriel mysql > Comment calculer la somme des valeurs de rachat au cours du dernier mois en SQL ?

Comment calculer la somme des valeurs de rachat au cours du dernier mois en SQL ?

Linda Hamilton
Libérer: 2024-12-17 00:29:25
original
788 Les gens l'ont consulté

How to Calculate the Sum of Cash Values within the Last Month in SQL?

Calcul de la somme avec filtrage conditionnel en SQL

Lorsque vous traitez des instructions SQL volumineuses, il est souvent nécessaire de calculer des valeurs récapitulatives. Cependant, il est parfois nécessaire de considérer uniquement un sous-ensemble de données en fonction d’une condition spécifique. Cet article explique comment modifier un relevé existant pour calculer la somme des valeurs de rachat pour les identifiants de transaction uniques, mais uniquement pour ceux dont la date de valeur est au cours du mois dernier.

Problème :

Pour calculer le montant total en espèces pour chaque ID de transaction dans une instruction SQL complexe, le code suivant est utilisé :

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

Cependant, le but est de modifier cette déclaration pour additionner uniquement les valeurs de trésorerie qui ont une date de valeur au cours du mois dernier.

Solution :

Le code révisé doit remplacer l'expression CASE d'origine par ce qui suit :

SUM(CASE WHEN ValueDate > @startMonthDate THEN cash ELSE 0 END)
Copier après la connexion

Explication :

L'expression CASE dans votre code d'origine était incorrecte syntaxe. La syntaxe SEARCH CASE est requise dans ce cas car une expression booléenne est en cours d'évaluation pour déterminer le résultat :

CASE
     WHEN Boolean_expression THEN result_expression [ ...n ] 
     [ ELSE else_result_expression ] 
END
Copier après la connexion

Dans le code révisé, l'expression CASE vérifie si le ValueDate est supérieur au @startMonthDate. Si tel est le cas, le montant en espèces est inclus dans le calcul ; sinon, il est remplacé par 0. Cela garantit que seules les valeurs de rachat du mois dernier sont prises en compte.

Considérations relatives aux performances :

Si les performances deviennent un problème, il est Il est recommandé d'envisager d'utiliser un JOIN et un GROUP BY au lieu d'une sous-requête dépendante. Cela peut améliorer la vitesse d'exécution de l'instruction.

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