mysql分頁 和 mysql中利用編號id和每頁條數來進行分頁
阿新 • • 發佈:2018-11-01
1.mysql分頁
排序屬性
limit 起始記錄位置,取記錄的條數 (這裡不需要加括號)
【其中】
select 選擇的列
from 表
where 查詢的條件
group by 分組屬性 having 分組過濾的條件
這個是按照分組屬性進行分組,所有分組屬性上值相同的記錄被分為一組,作為結果中的一條記錄,後面的having是對分組進行過濾的條件,必須和group by一起使用
order by 排序屬性 是對結果集合進行排序,可以是升序asc,也可以是降序desc
limit 起始記錄位置,取 記錄的條數,對記錄進行選取,主要用來實現分頁功能
Demo如下:
service層
【語句順序】
select 選擇的列
from 表
where 查詢的條件
group by 分組屬性 having 分組過濾的條件
order by
limit 起始記錄位置,取記錄的條數 (這裡不需要加括號)
【其中】
select 選擇的列
from 表
where 查詢的條件
group by
這個是按照分組屬性進行分組,所有分組屬性上值相同的記錄被分為一組,作為結果中的一條記錄,後面的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;
}