需要对realQty进行 SUM 聚合,则新建字段pickQtySum。同时设置插入、更新策略为NEVER,设置select为false。 这个设置能保证pickQtySum只在需要聚合的时候出现在sql中(即在不设置select字段时,pickQtySum不会出现在选择列中;将getPickQtySum加入选择列时可生效)
/**
* 拣货数量
*/
private BigDecimal pickQty;
@TableField(value = "sum(pick_qty)",
insertStrategy = FieldStrategy.NEVER,
updateStrategy = FieldStrategy.NEVER,
select = false)
private BigDecimal pickQtySum;
具体执行查询时代码如下:
List<RevertBoxItems> boxItemsList = boxItemsService.lambdaQuery()
.select(
RevertBoxItems::getRtNo,
RevertBoxItems::getRtName,
RevertBoxItems::getType,
RevertBoxItems::getSpec,
RevertBoxItems::getPickQtySum)
.groupBy(
RevertBoxItems::getRtNo,
RevertBoxItems::getRtName,
RevertBoxItems::getType,
RevertBoxItems::getSpec)
.list();