SQL 分页查询语句大全即(查找第N到M条记录的方法)
SQL 分页查询语句大全即(查找第N到M条记录的方法)
第一种方法,我的原创方法
row=2 表示分页行数
page=1 表示页码
getnum=row*page
select * from (select top row * from (select top getnum * from Newslist order by id desc) order by id asc) order by id desc
SQL查找第n条记录的方法: select top 1 * from table where id not in (select top n-1 id from table)
例如:select top 1 * from Evaluation where id not in (select top 0 id from Evaluation where SortPath='0,73,87,' order by Sort asc) and SortPath='0,73,87,' order by Sort asc
SQL查找第n条开始的m条记录的方法: select top m * from table where id not in (select top n-1 id from table) temptable0)
(注:表中必须有一个唯一值字段才可适用此方法。)
1 --从Table 表中取出第 m 条到第 n 条的记录:(Not In 版本) 2 3 SELECT TOP n-m+1 * 4 FROM Table 5 WHERE (id NOT IN (SELECT TOP m-1 id FROM Table ))
6 7 8 --从TABLE表中取出第m到n条记录 (Exists版本) 9 10 SELECT TOP n-m+1 * FROM TABLE AS a WHERE Not Exists11 (Select * From (Select Top m-1 * From TABLE order by id) b Where b.id=a.id ) 12 Order by id 13 14 15 --m为上标,n为下标,例如取出第8到12条记录,m=8,n=12,Table为表名16 17 Select Top n-m+1 * From Table 18 Where Id>(Select Max(Id) From 19 (Select Top m-1 Id From Table Order By Id Asc) Temp) 20 Order By Id Asc
我一直以为ACCESS的SQL语句与SQL Server差不多,当时也使用 Select top n在ACCESS测试过,都是成功的,但昨天突然发现ACCESS中有个问题: 如果在查询TOP语句的后面使用Order by,而且Order by字段中有重复值的话,那么这个TOP很可能会失效, 会返回所有记录 比如:
如果CreateDate中有重复值,那么很有可能会显示出所有的记录来,此TOP功能会失效的 但如果CreateDate中无重复值,那么TOP功能还是有效的
因此,在ACCESS中使用TOP功能要注意一下order by的字段是否会有重复值,如果象CreateDate是"年-月-日时:分:秒"的,那基本上问题不大的。 但为了保险起见,我们也可以采用“加入主键”的方式:
用主键作“不可能重复”的保障就可以防止此问题出现了!!
在网上找到一个相关的解释: JET SQL不是 T-SQL语句。 jet sql 会返回重复值,也就是说,一个表中如果 ORDER BY 的字段都是 0 ,一共有100条记录,即使你用SELECT TOP 1 来返回记录,也同样返回100条记录,因为 JET DB 无从在这100条记录里面判断先后次序,只能返回100条。要解决此问题可以在后面加入一个主键字段
转载于:https://www.cnblogs.com/bulemaple/articles/2827716.html
SQL 分页查询语句大全即(查找第N到M条记录的方法)相关推荐
- mysql的查询语句大全_sql语句(sql数据库查询语句大全)
sql语句 结构化查询语言(StructuredQueryLanguage)缩写为SQL.结构化查询语言是一种数据库查询和编程语言,用于访问数据以及查询,更新和管理关系数据库系统: 程序功能 创建数据 ...
- jpa mysql sql分页查询语句_JPA多条件复杂SQL动态分页查询功能
概述 ORM映射为我们带来便利的同时,也失去了较大灵活性,如果SQL较复杂,要进行动态查询,那必定是一件头疼的事情(也可能是lz还没发现好的方法),记录下自己用的三种复杂查询方式. 环境 spring ...
- java的mysql分页查询语句怎么写_java的mysql连库 增删改查语句、分页查询语句大全...
//代码复制出来,修改一下bean,加载一下jar包,能直接用的,不懂加我Q 983331283 package cn.tootoo.entity; public class Page { priva ...
- jpa mysql sql分页查询语句_jpa 中 Query 的分页查询和更新
1,查询分页 注意这个地方nativeQuery=true 代表的是可执行原生sql 先查询出来所有的数据,然后再差个总条数 返回page @Query(nativeQuery = true, val ...
- oracle 分页语句效率高,Oracle 10g SQL分页查询语句和效率分析
下面统计一下这张表中的记录数: SQL> select count(*) from customers; COUNT(*) ---------- 55500 已用时间: 00: 00: 00. ...
- Sqlserver分页查询语句
Sql server分页查询语句 PageSize:每页显示几条数据 pageNumber:当前页索引 T为表 注:通常pageNumber索引从零开始 select * from t where I ...
- SQL查询语句大全(转)
转自https://www.cnblogs.com/chenglc/p/8421492.html 重点参考https://blog.csdn.net/g1418377085/article/detai ...
- (转)经典SQL查询语句大全
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...
- orcal SQL查询语句大全集锦
orcal SQL查询语句大全集锦 一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例 ...
最新文章
- oracle怎么adi导入,Web adi 导入笔记 详细图解
- 当代的设计潮流是什么_解码“潮流合伙人”IP生意经
- 陆奇谢幕后,百度的“新”时代
- 【Opencv实战】趣味应用 | 用OpenCV自动给图片添加虚拟特效---平淡的生活需要技术的点缀~
- java 素数 五行_【数论】素数的判定与筛法
- Qt Creator Qt快速最佳实践
- 客户端调用webSerices
- 扩展欧几里得学习笔记
- 文件系统之-JAVA Sftp远程操作:
- MyBatis(六)SqlSessionTemplate是如何保证线程安全的
- C专家编程复习摘要一
- java cap 反编译_应用 JD-Eclipse 插件实现 RFT 中 .class 文件的反向编译
- 如何实现小程序的无限推送
- java中的枚举是什么?枚举怎么使用?
- python 正态分布概率_计算正态分布中的概率,给定平均值,std在Python中
- 轮播图代码,带定时器和小圆圈(易懂)
- 怎么用命令远程重启服务器,使用命令行重启Windows服务器的方法
- 关于电子科技大学学生阅读情况调查报告
- 使用C语言实现杨辉三角
- 追MM与设计模式(23种设计模式巧妙解析,趣味理解)
热门文章
- java -p_javap命令详解 - JackieYeah的个人空间 - OSCHINA - 中文开源技术交流社区
- 后端技术:Java代码优秀案例,一定对你有提升!
- 后端技术:数据持久化框架为什么放弃 Hibernate、JPA、Mybatis,最终选择 JDBCTemplate!...
- Git基础: .git 目录详解
- 程序员如何高效的学习?
- 盘点9 个实用的 JSON 工具
- 判断是否为自然数java_java判断输入的是否是自然数
- 用python写linux中的ls,Python实现Linux环境下的ls命令
- 安卓linux交叉编译,Linux Ubuntu下用Android NDK 生成独立交叉编译链
- 云栖大会上,阿里巴巴重磅发布前端知识图谱!