Maison > Article > base de données > Quelle est la méthode d'utilisation de mysql sum ?
Méthode MySQL sum sum : 1. Implémentez une seule somme via "select sum(value) as value from table which user_id" ; 2. Résumez plusieurs conditions via des instructions imbriquées, avec une syntaxe telle que "(select sum(value ) from table où type = 6 et type_son = 1) comme xj0".
L'environnement d'exploitation de ce tutoriel : système Windows 10, MySQL version 5.7, ordinateur Dell G3.
Quelle est la méthode d'utilisation de mysql sum ?
MySQL SUM() Méthode de sommation conditionnelle et méthode de sommation multi-conditions
1.
select sum(value) as value from table where user_id = 1 and type = 6 and type_son = 2
value est le champ à additionner.
as est suivi de sum et lui donne un nom après la sommation.
2. Somme multi-conditions des instructions imbriquées dans les instructions SQL.
select (select sum(value) from table where type = 6 and type_son = 1) as xj0, (select sum(value) from table where type = 6 and type_son = 2) as xj1, (select sum(value) from table where type = 3 and type_son = 3) as xj2, (select sum(value) from table where type = 4 and type_son = 3) as xj3 from table where user_id = 1 limit 0,1
as est suivi de sum et donnez-lui un nom après la sommation afin qu'il n'y ait pas de conflits.
3. Identique au second, mais au lieu de résumer par des instructions d'imbrication, utilisez sum pour juger la somme.
select sum(IF(type = 6 and type_son = 1,value,NULL)) as xj0, sum(IF(type = 6 and type_son = 2,value,NULL)) as xj1, sum(IF(type = 3 and type_son = 0,value,NULL)) as xj2, sum(IF(type = 4 and type_son = 3,value,NULL)) as xj3 from table where user_id = 1 sum(IF('条件判断','求和的字段','NULL不计算')) as '别名'
Je pense que la troisième voie est meilleure que les deux premières.
YII 2.0 utilise SUM pour trouver la somme
$v['alls_bonus'] = AccountingLog::find() ->select([" sum( IF(type = 6 and type_son = 1,value,NULL) ) as xj0, sum( IF(type = 6 and type_son = 4,value,NULL) ) as xj1, sum( IF(type = 8 and type_son = 4,value,NULL) ) as xj2, sum( IF(type = 3 and type_son = 1,value,NULL) ) as xj3 "]) ->where(['user_id'=>1]) ->asArray() ->one();
Attention à ajouter ["sum..."] dans select, sinon une erreur sera signalée
Apprentissage recommandé : "Tutoriel vidéo MySQL"
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!