平时,我们对数据进行分页,然后将分页后的数据再进行排序输出。这样做只是针对每次请求,也就是前TOP个数据进行了排序,并不是将数据库中的所有的数据进行了排序。当我们需要将数据库中的所有数据排序后在进行分页输出时该怎么做呢?

  总体思路是:使用SqlServer中的ROW_NUMBER() OVER(按某一属性升序或降序)函数来对我们所有的数据进行排序,从1开始,为每一条分组记录返回一个数字。

  使用:SELECT * FROM (SELECT *,row=row_number() OVER(ORDER BY name DESC) FROM tableOne ) AS rowTable WHERE rowTable BETWEEN + ((curPage.intValue() - 1) * PageCount.intValue() + 1) + " AND " + curPage.intValue()*PageCount.intValue();

  这句话的意思就是先将tableOne中所有的数据按照name字段的降序排好序作为新表rowTable,然后按照当前页curPage和每页行数PageCount进行分页,因为排序是从1开始的,所以PageCount也是从1开始,这样就可以做到先将所有数据排序在进行分页。

最新文章

  1. CSS的浮动和清除
  2. HDU 5815 - Golden Week
  3. cocos2d-x 精灵的创建和基本使用
  4. CentOS6.5下安装mfs分布式存储(转)
  5. ReportView动态加载带参数的RDCL文件及子报表
  6. python selenium 模块
  7. Python中字符串二三事
  8. 基于Aspectj 注解实现 spring AOP
  9. mybatis中设置打印sql语句application.yml
  10. C#List源码
  11. 让用户输入一个日期字符串,将其转换成日期格式, 格式是(yyyy/MM/dd,yyyyMMdd,yyyy-MM-dd)中的一种, 任何一种转换成功都可以; 如果所有的都无法转换,输出日期格式非法。
  12. 深港DJ好听的歌曲
  13. mybatis 无法自动补全,没有获得dtd文件
  14. 00006 - Linux中使用export命令设置环境变量
  15. Mybatis多个in查询
  16. Android获取actionbar高度和StatusBar高度的方法
  17. [Issue]git做rebase时,弹出编辑器为nano,不会使用
  18. diskspd的使用
  19. [QT_FFMPEG]学习问题: 刚开始移植ffmpeg,测试时出现 undefined reference to `avcodec_configuration()'
  20. easyui的filebox过滤文件

热门文章

  1. 随机函数的代码(srand、rand)
  2. CefBrowser 复制图片解决办法
  3. python运算符重载
  4. Python之路,day9-Python基础
  5. memcache原理、简单使用、分布式实现方案
  6. WPF 重新启动该程序
  7. Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)
  8. ssh 发现了error while loading shared libraries这种错
  9. delphi中的各种文件类型介绍【转】
  10. [综] Sparse Representation 稀疏表示 压缩感知