Maison  >  Article  >  base de données  >  Quelle est la méthode d'utilisation de mysql sum ?

Quelle est la méthode d'utilisation de mysql sum ?

藏色散人
藏色散人original
2023-02-14 09:42:572907parcourir

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".

Quelle est la méthode d'utilisation de mysql sum ?

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!

Déclaration:
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