MySQL查询语句求出不同类型的sum()总和!

MySQL查询语句求和

通常用SQL语句进行求和操作都会用到sum()聚合函数 有时需求是数据表有不同type的商品 进行求和求出每一种商品的重量 我们想到的可能是写三条SQL语句进行where type='typeName’查询求和 这样比较麻烦 还可以这样搞 使用case when then else 类似于Java里面的switch case default 的用法。

   select
          count(*) cnt,
          sum(weight) totalWeight,
          sum(case when type='fruit' then weight else 0 end) frTotalWeight,
          sum(case when type='meat' then weight else 0 end) meTotalWeight
        from table_name

count(*) 是查询总数量个数,sum()求和函数,所得之和命别名,接下来是对sum用case搜索函数,除此之外case还有简单case函数形式。

   `case type
              when 'fruit' then weight
              when 'meat' then weight
              else 0 end 

case搜索函数形式

case when type='fruit' then weight else 0 end
case when type='meat' then weight else 0 end

你可能感兴趣的:(java学习,mysql,数据库,sql,mybatis,java)