资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

有什么方法可以用sql语句直接解决分页?

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

有什么方法可以用sql语句直接解决分页?

网友回答:

发表者:cwf555

下面是一个查询,用于根据类别“Books”从产品表中选择前   20   条记录。  
   
  SELECT   PRODUCT_ID,   PRODUCT_NAME,   PRODUCT_DESCRIPTION,  
      PRODUCT_PRICE,   PROD_CATEGORY_ID  
      FROM   PRODUCT,PRODUCT_CATEGORY    
      WHERE  
            PRODUCT.PROD_CATEGORY_ID  
            =   PRODUCT_CATEGORY.CATEGORY_ID    
      AND  
            PRODUCT_CATEGORY.CATEGORY_ID   =   Books  
      ORDER   BY   PRODUCT.PRODUCT_ID    
      FETCH   FIRST   20   ROWS   ONLY    
   
  以下是一个示例,演示了如何从编号为   21   到   40   的行中选择结果。我们假设用户定下的选择标准是:类别为“Books”,产品描述为“Application   Servers”。  
   
  SELECT   *   FROM   (  
      SELECT   PRODUCT_ID,   PRODUCT_NAME,  
          PRODUCT_DESCRIPTION,   PRODUCT_PRICE,    
          rownumber()   OVER  
            (ORDER   BY   PRODUCT_ID)  
            AS   ROW_NEXT    
          FROM   PRODUCT,PRODUCT_CATEGORY   WHERE  
              PRODUCT.PROD_CATEGORY_ID  
              =   PRODUCT_CATEGORY.CATEGORY_ID    
          AND  
              PRODUCT_CATEGORY.CATEGORY_ID   =   Books  
          AND    
              PRODUCT.PRODUCT_DESCRIPTION   LIKE    
        Application   Servers  
      )  
  AS   PRODUCT_TEMP   WHERE    
  ROW_NEXT   BETWEEN   21   and   40    
   
  在一个基于   Web   的应用程序中,参数   “21”   和   “40”可以在运行时指定。下面是修改后的查询:  
   
  SELECT   *   FROM   (  
      SELECT   PRODUCT_ID,   PRODUCT_NAME,  
          PRODUCT_DESCRIPTION,   PRODUCT_PRICE,    
          rownumber()   OVER  
          (ORDER   BY   PRODUCT_ID)   AS   ROW_NEXT    
          FROM   PRODUCT,PRODUCT_CATEGORY  
  WHERE  
              PRODUCT.   PROD_CATEGORY_ID  
              =   PRODUCT_CATEGORY.CATEGORY_ID    
          AND  
              PRODUCT_CATEGORY.CATEGORY_ID   =   Books  
          AND    
              PRODUCT.   PRODUCT_DESCRIPTION   LIKE    
        Application   Servers  
      )  
  AS   PRODUCT_TEMP   WHERE    
  ROW_NEXT   BETWEEN   ?   and   ?    
   
  rownumber()   函数允许开发人员动态地将行号指定给结果集。  
   
 

发表者:simpledevelop

收藏

发表者:leafcoco

为什么我用"ROW_NEXT   BETWEEN   21   and   40   ",SQL有问题哦,不能执行.ROW_NEXT有什么限制吗?

发表者:JOINCHINA

marked


 

 
热门推荐笔记本: 新蓝笔记本
相关文章:
笔记本相关:
IT技术文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved