Maison > base de données > tutoriel mysql > Comment puis-je additionner les transactions en espèces en fonction d'une date de valeur conditionnelle en SQL ?

Comment puis-je additionner les transactions en espèces en fonction d'une date de valeur conditionnelle en SQL ?

Mary-Kate Olsen
Libérer: 2024-12-23 10:39:30
original
214 Les gens l'ont consulté

How Can I Sum Cash Transactions Based on a Conditional ValueDate in SQL?

Totalisation des transactions en espèces avec des dates de valeur conditionnelles

Lorsque vous travaillez avec des instructions SQL volumineuses, il est souvent nécessaire de calculer des valeurs agrégées pour des conditions spécifiques. Cette question porte sur l'utilisation d'une fonction SUM pour totaliser les valeurs de trésorerie d'une table, à condition que les ValueDates correspondantes se situent dans une période de temps spécifiée (c'est-à-dire le dernier mois).

Pour y parvenir, le code modifie une fonction SUM pour inclure une expression CASE qui évalue le champ ValueDate. Si le ValueDate est supérieur à la date de début du mois dernier, la valeur monétaire est incluse dans la somme ; sinon, il est exclu. Le code modifié est le suivant :

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

Ce code mis à jour garantit que seules les valeurs en espèces dont les ValueDates sont comprises dans la plage spécifiée sont incluses dans la somme. Le calcul est effectué efficacement en utilisant la syntaxe d'expression CASE recherchée, qui évalue les expressions booléennes pour déterminer le résultat.

Il convient de noter que si les performances deviennent un problème, il peut être avantageux d'envisager de réécrire l'instruction à l'aide d'un JOIN et GROUP BY au lieu d'une sous-requête dépendante. Cette approche peut souvent améliorer la vitesse d'exécution des instructions SQL complexes.

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