我们在日常开发中,经常涉及到分页查询。特别是和页面进行交互,分页查询已是家常便饭。
现在很多的jq插件都会有分页的模块,可以在页面上将数据更好的呈现给用户,使得用户拥有更好的体验。像我们熟悉的有很多,例如layui,他里面就有关于分页的处理模块。
但我们忽略了一个问题,就是将数据都查询后交由到页面层去处理。如果数据量多,这就容易造成页面加载缓慢,资源消耗大的问题。
针对这一问题,SQL Server早已给出了解决方法。将分页条件放到sql语句中,实现按需查询,
需要多少数据,从哪一行开始查询数据。
Offset Fetch子句:它们用于限制查询返回的行数。必须将 OFFSET FETCH 子句与 ORDER BY子句一起搭配使用。
废话不多说,接下来看我操作:

select product_id,product_name,list_price from production.products
order by product_id offset (2-1)*10 rows fetch next 10 rows only

用分页的模式,查询production.products表的id、商品、价格三个字段。从id序号11开始查询,
查询数据10条。下面是查询结果:

SQL Server还提供了好几种模式,都是限制返回行数的。
PERCENT:限制返回的行数,返回查询出的总数据的百分比。例如:总数据为100,要求查询8%,那么返回的就是8条数据
查询sales.customers表总数据的1%。sales.customers表的总数据是1445行

select top 1 percent city,first_name,last_name from sales.customers order by last_name
执行结果:

例如跳过前面310条数据,查询剩下的所有数据

select product_id,product_name,list_price from production.products order by product_id offset 310 rows

执行结果:

还有其他几种,就不演示了。总之,在sql分页查询比在页面上处理分页数据会更好。

SQL Server查询、限制返回行数相关推荐

  1. SQL Server数据库-限制返回行数

    SQL Server Select Top语句用于限制查询结果集中返回的行数或行百分比 Top 10:查询数据的前面十条数据,就不会把所有的数据查询出来,只会查出前十条数据 注:Top后面是要查询多少 ...

  2. SQL Server 查询时显示行号

    上图,因为自增列(b_Id)会断开,在做分页的时候不方便.可以人为地加一列行号,如下代码: SELECT * ,ROW_NUMBER() OVER ( ORDER BY b_time ) AS 行号 ...

  3. SQL Server之 (四) ADO增删查改 登录demo 带参数的sql语句 插入自动返回行号

    SQL Server之 (四) ADO增删查改  登录demo  带参数的sql语句  插入自动返回行号 自己学习笔记,转载请注明出处,谢谢!---酸菜 1.什么是ADO.NET ADO.NET是一组 ...

  4. SQL 限定返回行数

    描述: 你想限定查询结果的行数.你不关心排序,任意 n 行都可以.比如一张很大的表,你只想返回10行简单看看. 方法: 使用数据库的内置功能来控制返回的行数. DB2 使用 FETCH FIRST 子 ...

  5. SQL中的排序及限制返回行数

    今天要分享给大家的是SQL中对查询数据进行排序以及限制返回行数! 一.排序 在使用 SELECT 语句从表中查询数据时,不保证结果集中的行顺序. 这意味着SQL Server可以返回具有未指定行顺序的 ...

  6. SQL Server 查询性能优化——覆盖索引(二)

    在SQL Server 查询性能优化--覆盖索引(一)  中讲了覆盖索引的一些理论. 本文将具体讲一下使用不同索引对查询性能的影响. 下面通过实例,来查看不同的索引结构,如聚集索引.非聚集索引.组合索 ...

  7. Sql Server查询性能优化之走出索引的误区

    据了解绝大多数开发人员对于索引的理解都是一知半解,局限于大多数日常工作没有机会.也什么没有必要去关心.了解索引,实在哪天某个查询太慢了找到查询条件建个索引就ok,哪天又有个查询慢了,再建立个索引就是, ...

  8. Sql Server查询性能优化之索引篇【推荐】

    Sql Server查询性能优化之索引篇[推荐] 这篇是索引系列中比较完整的,经过整理而来的 一 索引基础知识 索引概述 1.概念 可以把索引理解为一种特殊的目录.就好比<新华字典>为了加 ...

  9. python nums函数获取结果记录集有多少行记录_PHP mysqli_num_rows():获取查询结果的行数...

    在 PHP 中,想要获取由 SELECT 语句查询到的结果集中有多少条数据的话,则需要使用 mysqli_num_rows() 函数来实现.首先我们来看一下该函数的语法结构: 面向对象风格的写法 $m ...

最新文章

  1. 知乎热议!一个博士生接受怎样的训练是完整的科研训练?
  2. 数据挖掘 —— 有监督学习(回归)
  3. java 登录下线_java web中Listener的实现(实现用户在线统计数量和强制用户下线)...
  4. CLR via C# 3 读书笔记(2):第1章 CLR执行模型 — 1.2 将托管模块组合为程序集
  5. 使用Java客户端操作elasticsearch--设置mappings、添加文档、查询数据
  6. vs2005中关于masterpage,Theme,skin的一点总结
  7. springmvc与Servlet3.0不依赖common包实现文件上传
  8. 仿QQ校友DIV模拟窗口
  9. wordpress PHP合并js,在WordPress函数文件中包含JS(使用PHP)的最佳实践
  10. md4c语言_docsify-demo/c-4操作系统.md at master · lvITStudy/docsify-demo · GitHub
  11. java poi html转word_POI操作word和html相互转化
  12. google 能翻译104个语言 youtube 仅仅不支持其中的15个语言 分别是这些
  13. 新手操作孕妇防辐射服暴利项目,也能日入500+
  14. php去除emoji,php去除emoji表情
  15. 百度脑图DesktopNaotu
  16. 模拟电路实验 01 - | 基本共射放大电路
  17. 怎么在微信小程序中设置密码重置
  18. 《Java基础——break与continue用法详解》
  19. 计算机组成原理第四章例4.1,计算机组成原理第四章.ppt
  20. C语言 第十二章 文件

热门文章

  1. Map集合(超详细+源码讲解)
  2. Spring初步学习
  3. app的底部菜单设计
  4. 构建煤矿物联网大数据平台思路(2)-实时数据库与时序数据库
  5. JMeter入门①——接口测试
  6. 2023秋招中原银行算法工程师面试分享
  7. GeoJSON全网最详细的介绍与解读
  8. 前后端分离后台管理项目(springboot+mybatis+vue)
  9. 数据库函数和存储过程有什么区别?
  10. 微信免密支付服务器忙,微信免密支付 查询用户授权记录,调起商家预授权 都返回系统繁忙...