关于分页
理论分页
Count∈NPageSize∈NCount=0⟺PageNumber∈−1PageSize=0⟺PageNumber=[0,+∞)
PageSize∈N∗⟺PageNumber={x:x∈⌊PageSizeCount⌋}
Count=0 无结果
PageSize=0 无意义
GUI分页实现
Count∈NPageSize∈NCount=0⟺PageNumber∈0PageSize=0⟺PageNumber=[0,+∞)
PageSize∈N∗⟺PageNumber={x:x∈⌈PageSizeCount⌉}
Count=0 无结果
PageSize=0 无意义
SQL分页实现
count∈Nlimit∈N∗offset∈N
limit=0 无意义
对应关系
理论:SQL
offset={0PageNumber∗PageSizeif PageNumber=−1if PageNumber>−1
GUI:SQL
offset={0(PageNumber−1)∗PageSizeif PageNumber=0if PageNumber>0
特殊的,如果在查询时数据已发生变化,即: offset≥count,考虑用户体验,应修正为最后一页LastPage
LastPage=⌊PageSizeCount⌋
GUI
LastPage=⌈PageSizeCount⌉
SQL
- 理论: offset=
- GUI: LastOffset=LastPage∗PageSize−PageSize=Count