zoukankan      html  css  js  c++  java
  • SQL 的分页查询

    1.对有序结果的分页查询:

        语法:  order 字段 ASC/DESC offset xx rows fetch next yy rows only 

        例如:取分页的第3页的数据,每页显示5条数据

      Select * From Customer Order By ID Asc Offset  (3-1)*5 rows fetch next 5 rows only

       注意:必须是对有序排列的结果进行分页,offset 必须在order by之后, fetch执行必须是在 offset 之后

    2.Not In

    SELECT TOP 页大小 * FROM table WHERE 主键 NOT IN
    (
        SELECT TOP (页码-1)*页大小 主键 FROM table WHERE 查询条件 ORDER BY 排序条件
    )
    ORDER BY 排序条件
    适用于数据量不大的分页

    3. ROW_NUMBER()  

        SELECT TOP 页大小 * FROM
    (
    SELECT TOP (页码*页大小) ROW_NUMBER() OVER (ORDER BY 排序条件) AS RowNum, * FROM table WHERE 查询条件
    ) AS tempTable
    WHERE RowNum BETWEEN (页码-1)*页大小+1 AND 页码*页大小
    ORDER BY RowNum

       性能不如第一种方法

  • 相关阅读:
    08mybatis映射文件及别名
    2016年阅读书单
    Java的位运算
    Python线程操作
    Java之Jackson框架
    Java线程
    Canvas 知识体系简单总结
    图片轮播
    media页面布局2
    利用@media screen实现网页布局的自适应
  • 原文地址:https://www.cnblogs.com/zcwfb/p/15746137.html
Copyright © 2011-2022 走看看