当前位置: 首页 > news >正文

MyBatis 语法不支持 having 节点

MyBatis 不支持 having 节点

比如在 GROUP BY 之后添加了 HAVING 子句,其内容为SUM(vsbsad.business_income) >= 0,该子句会对分组后的 SUM(vsbsad.business_income) 结果进行过滤,仅保留求和结果不为负数的分组记录。但是试过不支持。可把 having 条件嵌入到 select 语句里,当作一个子查询,然后在外部查询里对该条件进行过滤

<select id="findStoreSaleInfoDetail" resultType="com.test.dto.res.store.StoreSaleBaseInfolDTO">
    SELECT *
    FROM (
        SELECT
            ds.id AS storeId,
            ds.store_name AS storeName,
            SUM(vsbsad.business_income) AS businessIncome
        FROM
            store ds
            INNER JOIN
            store_business_di vsbsad
            ON
                ds.id = vsbsad.store_id
        <where>
            <if test="startDate != null and endDate != null">
                and vsbsad.sdt between #{startDate} and #{endDate}
            </if>
            <!-- 新增 storeIds 过滤条件 -->
            <if test="req.storeIds != null and req.storeIds.size() > 0">
                AND ds.id IN
                <foreach item="storeId" collection="req.storeIds" open="(" separator="," close=")">
                    #{storeId}
                </foreach>
            </if>
        </where>
        GROUP BY
            ds.id,
    ) subquery
    WHERE subquery.businessIncome >= 0
</select>    

相关文章:

  • Linux实用操作及命令
  • 计算机二级WPS Office第十套WPS演示
  • CF254C Anagram
  • 初阶8 list
  • pycharm2024.1.1版本_jihuo
  • ①、环境准备-主流技术(IPS/FW/主备-主主快速切换)
  • Python+requests+ThreadPoolExecutor接口多线程抓取数据
  • 计算机二级WPS Office第八套WPS演示
  • STL之vector
  • K8s故障排查手册:从Pod崩溃到网络不通
  • 7.1 分治-快排专题:LeetCode 75. 颜色分类
  • 使用JAVA-使用GUI进行界面设计-进行维吉尼亚密码的解密与加密
  • 力扣hot100二刷——动态规划
  • 落地长沙市某三甲医院!麒麟信安云桌面再添建设标杆
  • k8s1.22 kubeadm 部署
  • 解决vscode终端和本地终端python版本不一致的问题
  • 音视频 二 看书的笔记 MediaPlayer
  • MySQL 8.0.41源码目录深度解析:探索数据库内核的架构蓝图
  • 利用python调接口获取物流标签,并转成PDF保存在指定的文件夹。
  • SylixOS 中 select 原理及使用分析
  • 2025五一档新片电影总票房破亿
  • 融创服务全面退出彰泰服务集团:约8.26亿元出售广西彰泰融创智慧80%股权
  • 徐徕任上海浦东新区副区长
  • 看见“看得见的手”,看见住房与土地——读《央地之间》
  • 人社部:一季度全国城镇新增就业308万人,同比增加5万人
  • 总书记考察的上海“模速空间”,是一个怎样的空间?