文章类 软件类
好好999
 | 网站首页 | 网络编程语言 | 星座情感文章 | 特殊软件下载 | 站长工具天下 | 
html入门培训 网站服务器软件  化妆品经典广告词  雅芳化妆品价格  avon化妆品 net 入门培训 房地产销售广告 化妆品广告词 网络工程师
您现在的位置: 学习网 > 网络编程语言 > Oracle > 正文
 | 网络编程语言首页 | Dreamweaver | Html | Asp | Jsp | Php | Asp.net | Css | Javascript | Access | Mysql | Mssql | Oracle | Domain | Mainframe |
最 新 热 门
普通文章[SQL Server]探讨SQL2000对XML
普通文章如何从 MySQL 数据库表中检索数
普通文章[Oracle]减少临时表使用空间的
普通文章如何自动发布MS SQL SERVER数据
推荐文章Oracle外部程序的触发小结
普通文章[Sql server]如何得到用户的继
普通文章一些有用的sql语句实例
普通文章轻松三步走!防止SQL数据库注入
普通文章Oracle DBA数据库结构试题精选
普通文章Oracle进程导致CPU 100%解决步
 
频 道 推 荐
普通文章最危险的四大漏洞之一——数据
普通文章SQL server 数据库定时自动备份
普通文章Sql server 2005加强的十大安全
普通文章谈几个Sql server的日志
普通文章Sql Server去除表中的不可见字
普通文章五种提高 SQL Server 性能的方
普通文章Oracle 10g第2版新特性之SQL和
普通文章Oracle 10g第2版新特性之性能特
普通文章Oracle数据库10g的安全性和身份
普通文章SQL Server中如何用通配符搜索
普通文章MySQL 配置(Ubuntu篇 供新用户
普通文章MySQL配置(Ubuntu篇 供新用户参
普通文章sql server几个容易出错的数据
普通文章解决.NET连到Oracle的oci.dll加
普通文章怎么样保护MySQL中重要的数据之
普通文章一个Select出一个表中第N条记录
普通文章数据库输出HTML格式报表的测试
普通文章SQL Server2005的XML数据类型之
普通文章用标准的SQL语句实现查询记录分
普通文章装不上SQL Server怎么办
 
频 道 推 广
 
SQL server 2005的简单分页程序           ★★★
SQL server 2005的简单分页程序
作者:佚名 文章来源:本站整理 更新时间:2007-12-15

SQL2005增加了不少新特性,其中NTILE和ROW_NUMER使得我们不再为SQL如何灵活方便的分页伤脑筋了(不必再羡慕Oracle等数据库了)。
  下面就是一个很简单的分页查询语句: DECLARE @rows_per_page AS INTEGER
DECLARE @current_page AS INTEGER
DECLARE @total_pages AS INTEGER

-- 设置每页的行数
SET @rows_per_page = 20
-- 设置要显示的页号(从1开始)
SET @current_page = 2
-- 计算总页数
SELECT @total_pages = COUNT(*) / @rows_per_page
FROM testtable;

-- 列出指定页的内容
WITH t AS
(
  SELECT NTILE(@total_pages) OVER(ORDER BY id) AS page_number, *
  FROM testtable
)
SELECT * from t
WHERE page_number = @current_page   程序简单到可以不用说明的程度。
  我们可以利用上述简单的语句,变化排序条件和查询表,就可以做出一个很通用的分页查询的存储过程或查询语句了。

  同样的,使用ROW_NUMBER也可以做到分页查询: DECLARE @rows_per_page AS INTEGER
DECLARE @current_page AS INTEGER
DECLARE @start_row_num AS INTEGER

-- 设置每页的行数
SET @rows_per_page = 20
-- 设置要显示的页号(从1开始)
SET @current_page = 2
-- 设置开始行号
SET @start_row_num = (@current_page - 1) * @rows_per_page

WITH t AS
(
  SELECT ROW_NUMBER() OVER(ORDER BY id) AS row_number, *
  FROM testtable
)
SELECT * from t
WHERE row_number BETWEEN @start_row_num AND @start_row_num + @rows_per_page  似乎更简单的样子。

  至于哪种效率更高,这需要大家实际测试了。




 
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 相 关 文 章
    Dreamweaver MX 2004 内建Fireworks技术
    Dreamweaver MX 2004 CSS滤镜介绍(2)
    DreamWeaver打造Web查询系统(1)
    细品DW MX 2004内建FW技术
    携手打造【鹏程114 Web查询系统】第一讲
    携手打造【鹏程114 Web查询系统】第二讲
    携手打造【鹏程114 Web查询系统】第三讲
    用DW2004打造PHP+MYSQL数据库环境
    使网页随浏览器伸展
    Invert属性、Glow属性和FlipH、FlipV属性
    动态HTML的问答
    常用的控制符
    Html保持用户状态的多种方法比较
    在网页中实现细线边框的两种方法
    制作虚线效果的水平线
    Email地址在网页中的保护
    简单实用的网页表格特效
    把FoxPro数据库转变成HTML表格
    ASP应用之模板采用
    编写跨平台应用程序
    | 设为首页 | 加入收藏 | 投搞邮箱 | 友情链接 | 网站公告 | 版权申明 | |
    破天一剑私服 - 冒险岛外挂 - 传奇外挂 - dnf外挂 - 地下城与勇士外挂 - dnf外挂 - 传奇外传外挂 - qq三国外挂 - 天龙八部外挂 - 劲舞团私服 - 劲舞团私服 - 传奇私服 - 传奇私服 - 传奇私服 - 变态传奇私服 - 及时雨外挂 - 热血传奇私服 - 传世私服 - 魔兽世界私服 - 魔兽世界私服 - 完美世界私服

    点击这里给我发消息

    有事点这里

    copyright: 2007-2008 haohao888.com.cn 粤ICP备08105098号