当前位置: 首页 > news >正文

DataGrid连接Access的快速分页法(3)——SQL语句的选用(降序)

DataGrid连接Access的快速分页法(3)——SQL语句的选用(降序)

三、降序

(1) @PageIndex <= @FirstIndex
SELECT TOP @PageSize @QueryFields
FROM @TableName
WHERE @Condition
ORDER BY @PrimaryKey DESC
(2) @FirstIndex < @PageIndex <= @MiddleIndex
SELECT TOP @PageSize @QueryFields
FROM @TableName
WHERE @PrimaryKey < (
SELECT MIN ( @PrimaryKey ) FROM (
SELECT TOP @PageSize * @PageIndex @PrimaryKey
FROM @TableName
WHERE @Condition
ORDER BY @PrimaryKey DESC
) TableA
) WHERE @Condition
ORDER BY @PrimaryKey DESC
(3) @MiddleIndex < @PageIndex < @LastIndex
SELECT * FROM (
SELECT TOP @PageSize @QueryFields
FROM @TableName
WHERE @PrimaryKey > (
SELECT MAX ( @PrimaryKey ) FROM (
SELECT TOP ( @RecordCount - @PageSize *( @PageIndex + 1 )) @PrimaryKey
FROM @TableName
WHERE @Condition
-- ORDER BY @PrimaryKey ASC
) TableA
) WHERE @Condition
-- ORDER BY @PrimaryKey ASC
) TableB
ORDER BY @PrimaryKey DESC
(4) @PageIndex >= @LastIndex
SELECT * FROM (
SELECT TOP ( @RecordCount - @PageSize * @LastIndex ) @QueryFields
FROM @TableName
WHERE @Condition
ORDER BY @PrimaryKey ASC
) TableA
ORDER BY @PrimaryKey DESC

四、总结

通过上面的讨论,相信大家应该看到了该分页方法的优势所在。在下一篇中,我将给大家一个动态生成上面 SQL 语句的类。
作者:黎波

相关文章:

  • 在 Linux 上安装 FL Studio
  • DataGrid连接Access的快速分页法(2)——SQL语句的选用(升序)
  • 音乐人声分离[源码教程连接]
  • SoundTouch音频处理库
  • DataGrid连接Access的快速分页法(1)——需求与现状
  • 自动驾驶:使用 3D 时空卷积网络的自监督点云预测
  • 文件共享的新面孔——《纽约时报》专访BitTorrent之父
  • 实战OpenPose项目1:开篇使用文档
  • 实战OpenPose项目2:开发环境配置与demo运行
  • Martin Fowler:设计已死?
  • 实战OpenPose项目3:pytorch 实现openpose(包括手和身体姿态估计)
  • 下一步CSDN Blog要增加和完善的功能
  • 实战OpenPose项目4:实时准确的全身多人姿态估计和跟踪系统
  • 知识图谱:知识表示学习(KRL)/知识嵌入(KE)必读论文
  • 关于国际标准书号ISBN
  • [iOS]Core Data浅析一 -- 启用Core Data
  • [译]CSS 居中(Center)方法大合集
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • Bootstrap JS插件Alert源码分析
  • CSS居中完全指南——构建CSS居中决策树
  • eclipse的离线汉化
  • EventListener原理
  • exports和module.exports
  • input实现文字超出省略号功能
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • learning koa2.x
  • Netty源码解析1-Buffer
  • Python3爬取英雄联盟英雄皮肤大图
  • - 概述 - 《设计模式(极简c++版)》
  • 关于 Cirru Editor 存储格式
  • 开发基于以太坊智能合约的DApp
  • 数据结构java版之冒泡排序及优化
  • 温故知新之javascript面向对象
  • 新手搭建网站的主要流程
  • 大数据全解:定义、价值及挑战
  • ​人工智能书单(数学基础篇)
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (day6) 319. 灯泡开关
  • (solr系列:一)使用tomcat部署solr服务
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二十四)Flask之flask-session组件
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (转)Scala的“=”符号简介
  • (转)程序员疫苗:代码注入
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • ../depcomp: line 571: exec: g++: not found
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET 使用配置文件
  • .NET 中创建支持集合初始化器的类型
  • .NET成年了,然后呢?
  • .sh 的运行
  • @DataRedisTest测试redis从未如此丝滑
  • [Android]通过PhoneLookup读取所有电话号码