zoukankan      html  css  js  c++  java
  • SQL分页语句三方案


    方法一:

    1
    2
    3
    4
    5
    6
    7
    SELECT TOP 页大小 *
    FROM table1
    WHERE id NOT IN
              (
              SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id
              )
    ORDER BY id

     方法二:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT TOP 页大小 *
    FROM table1
    WHERE id >
              (
              SELECT ISNULL(MAX(id),0)
              FROM
                    (
                    SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id
                    ) A
              )
    ORDER BY id

     方法二倒序:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT TOP 页大小 *
    FROM table1
    WHERE ID <=
        (
        SELECT ISNULL(MIN(ID),(SELECT MAX(ID) FROM table1 ))
        FROM
            (
            SELECT TOP (页大小*(页数-1)) ID FROM tbl_files ORDER BY ID DESC
            ) A
        )
    ORDER BY ID DESC

     方法三

    1
    2
    3
    4
    5
    6
    SELECT TOP 页大小 *
    FROM
            (
            SELECT ROW_NUMBER() OVER (ORDER BY id) AS RowNumber,* FROM table1
            ) A
    WHERE RowNumber > 页大小*(页数-1)

    分页方案二:(利用ID大于多少和SELECT TOP分页)效率最高,需要拼接SQL语句
    分页方案一:(利用Not In和SELECT TOP分页)   效率次之,需要拼接SQL语句
    分页方案三:(利用SQL的游标存储过程分页)    效率最差,但是最为通用

     

    PS:这三条方案是在网上搜到的,做分页的时候选用的方案二,发现直接套用语句不能满足要求,因为根据发帖顺序,是需要倒序排列的,就是最新发帖需要排到最前面,于是仿照方案二改成了倒序,希望对大家有所帮助。

  • 相关阅读:
    Kafk为什么这么快
    kafka消息格式演变
    kafka基础命令及api使用
    zookeeper && kafka && kafka manager开机自启动设置
    sqoop进行将Hive 词频统计的结果数据传输到Mysql中
    hive实例的使用
    使用HBase Shell命令
    Hadoop使用实例 词频统计和气象分析
    HDFS 操作命令
    第四次作业 描述HDFS体系结构、工作原理与流程
  • 原文地址:https://www.cnblogs.com/baiduligang/p/4247028.html
Copyright © 2011-2022 走看看