在負責學校下學期圖書館的項目的一部分,現(xiàn)在碰到了一個業(yè)務設計的困難。
比如說在首頁的話,我計劃當學生查詢相關的信息的時候全部采用ajax加載,不是很習慣很多網(wǎng)站比如知乎那種拖動到底部自動加載。我的想法是在底部設置一個分頁的選項,每一頁顯示15條記錄,文章全部采用ajax加載。
這樣sql語句大概就是select xxx from xxx condition limit 15 offset xxx。但是現(xiàn)在由于要做分頁,我必須要知道一個學生總共有多少條記錄在數(shù)據(jù)庫中,前端才好設計,總記錄可以通過sql語句select count(*) from xxx condition查詢出來,然后將總記錄保存在前端中。
如果這樣的話,必須要為拆分成兩條sql語句查詢,感覺不是很優(yōu)雅,請問有什么更加優(yōu)雅的實現(xiàn)方案么?
ps: 因為在系統(tǒng)中有很多相似的業(yè)務都是要采用類似的分頁設計,每次都這樣使用兩條sql語句分開查詢太不優(yōu)雅了。
補充
答主好像都沒看請題目。一位是答的就是sql語句1,另外一位說的是前端。
多謝各位網(wǎng)友的回答,問題已解決,看來只能采用兩條sql語句了 ^_^
8 回答

蝴蝶不菲
TA貢獻1810條經(jīng)驗 獲得超4個贊
var start = 頁標 - 1;
$.get("url?start=" + start * 15,function(){});
$start = $_GET["start"];
$end = $start + 15;
$sql = "select * from table limit {$start}, {$end}";
select a.*, b.count from table a, (select count(*) as count from table ) b LIMIT 1,15

蠱毒傳說
TA貢獻1895條經(jīng)驗 獲得超3個贊
不用想了,必須是兩條的.
要一條也行:
select * from table
union
select 0, 0...., count(*) from table

海綿寶寶撒
TA貢獻1809條經(jīng)驗 獲得超8個贊
題主別想了, 必須兩條sql, 但是mybatis有個分頁插件PageHelper,用法很簡單,第一條sql不需要你寫,插件會實現(xiàn)。
添加回答
舉報
0/150
提交
取消