由于 LambdaQueryWrapper 并不支持使用sum等求和的聚合函数。所以只能退而求其次使用 QueryWrapper 来进行构建查询语句。
简单的例子如下:
Map<String, Object> map = getMap(new QueryWrapper<Order>()
.select("IFNULL(sum(total_amount),0) as totalPrice")
.between("create_time", DateUtils.getStartDate(date), DateUtils.getEndDate(date)));
BigDecimal sumCount = (BigDecimal) map.get("totalPrice");
上面的语句构建成可执行的MySQL语句即为:
SELECT IFNULL(sum(total_amount),0) as totalPrice FROM order WHERE create_time between ? and ?;