|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。我不雅先辈的帖子,皆因为数据库的SQL年夜纷歧致,且SQLSERVER,ACCESS等菜鸟级数据库没有如rowid,_n_,obs等之类的帮助列,空有BETWEEN运算符而无用武之地,
又无如except之类的数据集运算符,真是令有数好汉尽折腰 偶详不雅各数据库SQL,得出是数据库就有取后面N笔记录的SQL语法,如甚么selecttopn*****之类的语法,而数据分页的关头成绩是取后N笔记录的语法偶沉思好久,最初小悟,故出此言,还忘先辈们多多指导
取纪录集后N笔记录的年夜法:
假定:
1.有一sql语句将发生1000笔记录(select独一ID,其他字段from表集where前提orderby排序)
2.每页显现20笔记录
3.以后显现第5页
完成以下:
select*from
(
select*from(selecttop20*4独一ID,其他字段from表集where前提orderby排序)asa
unionall
select*from(selecttop20*5独一ID,其他字段from表集where前提orderby排序)asb
)
a
groupby独一ID,其他字段havingcount(独一ID)=1orderby排序
运转此SQL,至此取纪录集后N笔记录年夜法就些终了
具体申明:
此SQL语句的关头使用技能在于unionall和分组上的前提过滤语句
人人能够依据此技能完整能够做出一个通用的分页办法,如间接由用户传进sqlstr(sql语句),NumPerPage(每页显现数),currpage(以后页),本人在再函数内构造成通成的SQL分页语句
备注:
以后页为1的话就不必要运转该SQL了,间接TOP一下就OK了
因为没有情况,该SQL功能没法测试,但信任不会低效
运转平台在access,sqlserver上都可运转,别的数据库平台只需改top关头字应当就能够当场运转了
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们) |
|