今天突然翻到為客戶端寫分頁資料的sql,發現其實邏輯不對。列表是按照id降序的
當時這樣寫的:
#翻上一頁:
select 字段 from 表 where id>lastid order by id desc limit pagesize
#翻下一頁:
select 字段 from 表 where id
lastid是臨近id,即上一頁是最上面的id,下一頁是最下面的id
pagesize是頁麵條數
顯然,邏輯有問題。
如果pagesize=3;id列表是這樣的:
14 13 12 11 10 9 8 7 6 5 4 3 2 1
因為id降序,因此翻頁是這樣的:
1 第一頁:14 13 12
2 第二頁:11 10 9
3 第三頁:8 7 6
...但實際上,後端接收三個引數:lastid,pagesize,direct。direct=0表示上一頁,1下一頁。
lastid=9,並向下一頁,則id<9 降序,得8 7 6,沒問題;
上一頁,則id>9,如果只是降序則取出:14 13 12,顯然應該是公升序,即:10 11 12,然後再降序,返回給客戶端:12 11 10
1 #翻上一頁:
2 select * from
3 (select 字段 from 表 where id>lastid order by id limit pagesize) temp
4 order by id desc
6 select 字段 from 表 where id
客戶端介面AGENDA
周二上午 完善客戶端功能 介面定義。周二下午 助教審查客戶端 審查完成之後將發布介面定義。總之謝謝大家的支援。我們會盡量降低互動難度,讓各位親把精力專注於演算法設計上面。可以使用任何支援tcp協議的語言。使用我們暴露的介面。如果不想寫通訊方面的東西,可以使用我們提供的c 客戶端 請將客戶端中提交隨機...
EasyUI Datagrid 客戶端分頁詳解
最近在做乙個小型的成績管理系統,需要用到easyui datagrid的分頁功能,考慮到資料量較少 只有乙個班級 於是選擇客戶端分頁。在網上能找到的客戶端分頁demo基本都是同一段 但沒有注釋,下面是我根據自己的理解和除錯分析寫上的 以及注釋,希望能幫助大家理解easyui datagrid客戶端分...
關於胖客戶端
目前his系統由於業務複雜,要進行大量的運算,而且his系統在執行一段時間後,資料量激增,資料庫占用空間增長很快,導致his投入執行一兩年後,反應速度急遽下降,在進行乙個簡單的儲存或刪除業務時都要花較長時間,甚至讓使用的醫務人員也難以忍受,這時就應該考慮採用胖客戶端了。所謂胖客戶端,這裡是指將常用的...