Maison  >  Article  >  base de données  >  Comment créer une colonne de somme cumulée dans MySQL ?

Comment créer une colonne de somme cumulée dans MySQL ?

王林
王林avant
2023-09-12 12:09:041163parcourir

如何在 MySQL 中创建累积和列?

Pour créer une colonne de somme cumulée dans MySQL, vous devez créer une variable et définir la valeur sur 0. La somme cumulée s'incrémente de la valeur actuelle à la valeur suivante.

Tout d'abord, vous devez créer une variable à l'aide de SET. La syntaxe est la suivante -

set @anyVariableName:= 0;

La syntaxe pour créer une colonne de somme cumulée dans MySQL est la suivante -

select yourColumnName1,yourColumnName2,........N,(@anyVariableName := @anyVariableName + yourColumnName2) as anyVariableName
from yourTableName order by yourColumnName1;

Pour comprendre le concept ci-dessus, créons une table. Voici la requête pour créer la table -

mysql> create table CumulativeSumDemo
   −> (
   −> BookId int,
   −> BookPrice int
   −> );
Query OK, 0 rows affected (0.67 sec)

Insérez quelques enregistrements dans la table à l'aide de l'instruction select. La requête pour insérer des enregistrements est la suivante : 

mysql> insert into CumulativeSumDemo values(101,400);
Query OK, 1 row affected (0.15 sec)

mysql> insert into CumulativeSumDemo values(102,500);
Query OK, 1 row affected (0.16 sec)

mysql> insert into CumulativeSumDemo values(103,600);
Query OK, 1 row affected (0.16 sec)

mysql> insert into CumulativeSumDemo values(104,1000);
Query OK, 1 row affected (0.18 sec)

affiche tous les enregistrements que j'ai insérés à l'aide de la commande insert. La requête est la suivante -

mysql> select *from CumulativeSumDemo;

Ce qui suit est le résultat -

+--------+-----------+
| BookId | BookPrice |
+--------+-----------+
|    101 |       400 |
|    102 |       500 |
|    103 |       600 |
|    104 |      1000 |
+--------+-----------+
4 rows in set (0.00 sec)

Pour ajouter la colonne de somme cumulée, vous devez d'abord créer une variable. La requête est la suivante -

mysql> set @CumulativeSum := 0;
Query OK, 0 rows affected (0.00 sec)

Implémentez la syntaxe ci-dessus discutée au début pour ajouter la colonne de somme cumulée. La requête est la suivante -

mysql> select BookId,BookPrice,(@CumulativeSum := @CumulativeSum + BookPrice) as CumSum
   −> from CumulativeSumDemo order by BookId;

Ce qui suit est le résultat. La colonne somme cumulée est également visible ici -

+--------+-----------+--------+
| BookId | BookPrice | CumSum |
+--------+-----------+--------+
|    101 |       400 |    400 |
|    102 |       500 |    900 |
|    103 |       600 |   1500 |
|    104 |      1000 |   2500 |
+--------+-----------+--------+
4 rows in set (0.00 sec)

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer