加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql sum求和怎么利用

发布时间:2023-04-08 13:13:19 所属栏目:MySql教程 来源:
导读:本篇内容主要讲解“mysql sum求和怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql sum求和怎么使用”吧。mysql sum求和的方法:1

本篇内容主要讲解“mysql sum求和怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql sum求和怎么使用”吧。

mysql sum求和的方法:1、通过“select sum(value) as value from table where user_id”方式实现单一求和;2、通过嵌套语句多条件求和,语法如“(select sum(value) from table where type = 6 and type_son = 1) as xj0”。

MySQL SUM() 带条件的求和方法与多条件的求和方法

一、单一的求和。

select sum(value) as value from table where user_id = 1 and type = 6 and type_son = 2

value 为求和的字段。

as 后面是 sum 求和后给它一个名称。

二、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 后面是 sum 求和后给它一个名称,这样就不会冲突。

三、与第二个一样,但是不采取语句嵌套的方式求和,而是使用 sum 判断求和。

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  '别名'

我觉得第三个的方式比前面两个的方式要好。

YII 2.0 使用 SUM 求和

$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();

注意要在 select 里面加 ["sum........"],否则会报错

到此,相信大家对“mysql sum求和怎么使用”有了更深的了解,不妨来实际操作一番吧。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!