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