当前位置: 首页 > 工具软件 > TableSum > 使用案例 >

mybatis plus lambdaQuery sum聚合查询的办法

常甫
2023-12-01
需要对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();

 类似资料: