使用sum对字段求和
如下sql,为计算用户收益总和:
<select id="gettotalincome" resulttype="com.lws.test.modules.user.entity.userincomeentity">
select sum(income) as totalincome
from income_log
where uid = #{uid,jdbctype=bigint}
</select>
其中返回的求和字段类型需要设置为 bigdecimal :
public class userincomeentity {
private bigdecimal totalincome;
}
避免mybatis sum求和返回null
<select id="getordersummoneybyusercode" parametertype="string" resulttype="bigdecimal">
selec sum(order_money ) from gm_order where add_uid = #{usercode}
</select>
如上写法如果没有结果的话就会返回null,其实我们希望返回的是0.00这种情况
<select id="getordersummoneybyusercode" parametertype="string" resulttype="bigdecimal">
select coalesce(sum(order_money),0) from gm_order where add_uid = #{usercode}
</select>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。