欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > MyBatis 语法不支持 having 节点

MyBatis 语法不支持 having 节点

2025/4/2 3:39:24 来源:https://blog.csdn.net/weixin_56693899/article/details/146542075  浏览:    关键词: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 (SELECTds.id AS storeId,ds.store_name AS storeName,SUM(vsbsad.business_income) AS businessIncomeFROMstore dsINNER JOINstore_business_di vsbsadONds.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 BYds.id,) subqueryWHERE subquery.businessIncome >= 0
</select>    

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词