当前位置: 首页 > 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>    
http://www.dtcms.com/a/93008.html

相关文章:

  • 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 原理及使用分析
  • Keil5 安装全攻略
  • 【django】1-1 django构建web程序的基础知识
  • Photoshop怎样保存为ico格式
  • VS自定义静态库并在其他项目中使用
  • SQL Server安装程序无法启动:系统兼容性检查失败
  • 【计算机网络】计算机网络协议、接口与服务全面解析——结合生活化案例与图文详解
  • 中级:设计模式面试题全解析
  • MQTT之重复消息产生
  • node-ddk,electron,主进程通讯,窗口间通讯
  • Django之旅:第五节--Mysql数据库操作(一)