Maison > Article > base de données > Comment créer une colonne de somme cumulée dans 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!