zoukankan      html  css  js  c++  java
  • 简单的SQL分页法

    简单的SQL分页法

    select top 10 * from User u1
        where u1.Id not in (
            select top 10*@page u2.Id from User u2 order by u2.Id asc
        )
    order by u1.Id

    其中 top 10 为我们需要分页的项目数, @page 为页数;如:我们现在需要 1-10条的记录 page=0,需要11-20的记录 page=1
    =====================================================================

    DECLARE @page int
    DECLARE @size int
    SET @size = 10
    SET @page = 1

    select TOP(@size) * from Users u1
        where u1.UserId not in (
            select TOP(@size*@page) u2.UserId from Users u2 order by UserId asc
        )
        ORDER BY u1.UserID asc


    =====================================================================
    附上另一方法:
    WITH OrderedOrders AS
    (SELECT *,
    ROW_NUMBER() OVER (order by [id])as RowNumber  --id是用来排序的列
    FROM table_info ) --table_info是表名
    SELECT *
    FROM OrderedOrders
    WHERE RowNumber between 50 and 60;

    在windows server 2003, sql server 2005 CTP,P4 2.66GHZ,1GB 内存下测试,执行时间0秒 ,表中数据量230万
  • 相关阅读:
    服务器 空间
    android 手动打包
    sql server 2000 完全卸载 2
    apk 优化
    asp.net 画 数据图表
    java 运行 bat win linux
    vb 生成 批处理
    国内平台
    委托
    observer 观察者模式
  • 原文地址:https://www.cnblogs.com/Koy/p/1135108.html
Copyright © 2011-2022 走看看