在使用資料庫查詢的時候,如果遇到對分頁的資料分組,取每組的前n條,實際就是兩次分頁,先分頁,在對分組的每組排序分頁。sql 如下
select a.*
from
(select t1.*,(select
count(*)+1
from 表 where 分組字段=t1.分組字段 and 排序欄位as group_id
from 表 t1
) awhere a.group_id<=3
select
a.*,c.content as c_content
from
(select ax.* from t_article ax order
by id desc limit 0,2) as a
left
join
(select c1.*
from
( select t1.*,(select
count(1)+1
from t_comment where article_id=t1.article_id and id>t1.id) as group_id
from t_comment t1
) c1
where group_id<3
order
by c1.group_id desc
) as c on a.id = c.article_id
where
1 = 1
order
by a.id desc
a – article ,c–comment SQL分頁資料查詢
在許多資料庫應用系統中,會對資料進行大量的查詢操作。當查詢資料量比較大時查詢所用的時間就會變得較慢,所以我們希望可以分批的獲取資料。特寫了乙個儲存過程用於分批獲取資料。鑑於游標效率低,故此處沒有採用。create procedure selectpage tablename nvarchar 64 ...
Mysql排序分頁查詢兩頁資料重複問題
問題描述 資料分頁時需要根據資料記錄建立時間create time欄位倒序,即使用order by create time desc limit 但是我們會發現,前端進行請求時獲取的資料並不正確,分頁 現了一定的重複資料。問題原因 期初還很好奇,總數沒問題,總查詢也沒問題,為什麼資料會重複了,然後會...
sql server中的分頁資料查詢
今天在工作中遇到乙個需要進行sql server分頁資料查詢的問題,但是分頁資料查詢的sql卻忘記了,最終通過查詢資料解決了該問題。現在把解決方法記下,以備查閱。在這裡需要感謝的qlin 假設需要查詢表為test,test表中有個字段為id 我這裡用的是int型 當前頁pageindex 5,頁大小...