mysql分页 和 mysql中利用编号id和每页条数来进行分页

本文介绍MySQL中的两种分页方法:一种是使用SQL语句的基本分页功能,通过LIMIT结合OFFSET实现;另一种是根据ID和每页条数进行分页,适用于动态插入数据场景。文章还提供了具体的SQL语句及MyBatis示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.mysql分页

序】
        select 选择的列
        from

        where 查询的条件
        group by
属性 having 组过滤的条件
        order by
排序属性
        limit 起始记录位置,取记录的条数   (这里不需要加括号)
【其中】
        select 选择的列
        from

        where 查询的条件
        group by
属性 having 组过滤的条件
        这个是按照分属性行分,所有分属性上相同的记录被分,作为结果中的一条记录,后面的having组进过滤的条件,必和group by一起使用
        order by 排序属性 是对结果集合行排序,可以是升序asc,也可以是降序desc
        limit 起始记录位置,取记录的条数,对记录进取,主要用来实现功能

-- 语法:

SELECT select_listFROM table_name 

        [ WHERE search_condition ] 

        [ GROUP BY group_by_expression ] 

        [ HAVING search_condition ] 

        [ ORDER BY order_expression [ ASC DESC ] ] 

        [limit m,n]  

-- 示例:

-- limit 0,10是从第一条开始,10条数据

       select classNo  from table_name  

        group by classNo   

        having(avg(成绩)>70) 

        order by classNo  

        limit 0,10

================================================================

2.mysql中利用编号id和每页条数来进行分页(如果实时动态插入数据,应该用id来进行分页)

【根据某一个ID  和 size 来进行分页】 ===好处:动态插入数据时来进行分页(根据ID这列来进行降序排序)

SELECT * FROM 表名 WHERE  STARTID< #{started}   ORDER  BY  flow_id DESC  LIMIT  SIZE=#{size}

Demo如下:
<!-- 查询social的公告信息列表【根据id和每页显示条数来进行分页】 -->
	<select id="searchSocialCrowdNoticeInfo" resultMap="BaseResultMap">
		select  <include refid="Base_Column_List"></include>
		from FL_CROWD_NOTICE where CROWD_ID=#{flCrowdNotice.crowdId} 
		<if test="startId!=null and startId!=0">
			AND NOTICE_ID < #{startId}
		</if>
		ORDER BY NOTICE_ID DESC LIMIT 0,#{size}
	</select>
dao接口
public List<FlCrowdNotice> searchSocialCrowdNoticeInfo(@Param("flCrowdNotice")FlCrowdNotice flCrowdNotice, @Param("startId")Long startId, @Param("size")Integer size);

service层
public List<FlCrowdNotice> searchCrowdNoticeInfo(FlCrowdNotice flCrowdNotice, Long startId, Integer size) {
		List<FlCrowdNotice> flCrowdNotices = iFlCrowdNoticeDao.searchSocialCrowdNoticeInfo(flCrowdNotice,startId,size);
		return flCrowdNotices;
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值