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

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如下:

    


dao接口
public List searchSocialCrowdNoticeInfo(@Param("flCrowdNotice")FlCrowdNotice flCrowdNotice, @Param("startId")Long startId, @Param("size")Integer size);

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

--------------------- 

原文:https://blog.csdn.net/W_Leodong/article/details/80032484 
 

你可能感兴趣的:(mysql)