Mybatis一对多关系分页查询数据不匹配解决

前言

在项目中,使用mybatis做一对多关联,出现数据条数不匹配的情况,比如要查询10条,由于一对多的关系导致最终得到的数据条数变少。利用子查询解决。

解决代码

直接上解决后的代码。

SELECT
	t.ID,
	t.USER_ID,
	t.NAME,
	t.CONTENT,
	t.DESCRIPTION,
	t.STATUS,
	t.FAVO_COUNT,
	t.USE_COUNT,
	t.CREATE_TIME,
	tag.ID tagId,
	tag.NAME tagName,
	tag.TYPE tagType 
FROM
	t_template t
	INNER JOIN t_template_tag tt ON t.ID = tt.TEMPLATE_ID
	INNER JOIN t_tag tag ON tt.TAG_ID = tag.ID 
WHERE
	t.ID IN (
	SELECT
		temp.ID 
	FROM
		(
		SELECT DISTINCT
			t.ID 
		FROM
			t_template t
			INNER JOIN t_template_tag tt ON t.ID = tt.TEMPLATE_ID
			INNER JOIN t_tag tag ON tt.TAG_ID = tag.ID 
			LIMIT 0, 10 
		) temp 
	) 
	AND t.STATUS = 1 
	AND t.IS_ACTIVE = 0 
	AND tag.IS_ACTIVE = 0 
ORDER BY
	t.USE_COUNT DESC

在这里插入图片描述
可以看到,分页的是 LIMIT 0,10

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值