MySQL 查詢分頁資料中分組後取每組的前N條記錄

2021-07-04 04:45:57 字數 843 閱讀 9326

在使用資料庫查詢的時候,如果遇到對分頁的資料分組,取每組的前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,頁大小...