使用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>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。