在SQLServer 中可以用 SELECT TOP 10 ...取前10条记录

解决方案 »

  1.   

    当然是多余的,因为我在页面要显示的只要10条。
      我的意思是,我每次检索数据库时,能否有个办法,只检索最多10条符合条件的记录!
    也就是说我的ResultSet里不用每次都检索所有符合条件的记录,而是符合条件的(前)10条。
    accp(accp)的select top 10 ...是检索数据表的前10条而已!
      

  2.   

    oracle 里有 ROWNUM 这个属性的。如下:
    select ROWNUM,name from REGINFO
    where ROWNUM>=1 and ROWNUM<=10
    就是取得了 1 到 10 的记录
      

  3.   

    accp(accp)的select top 10 ...是检索数据表的前10条而已!老大,听你这么一说我倒有点怀疑自己,这是帮助使用 TOP 和 PERCENT 限制结果集
    TOP 子句限制返回到结果集中的行数。TOP n [PERCENT]n 指定返回的行数。如果未指定 PERCENT,n 就是返回的行数。如果指定了 PERCENT,n 就是返回的结果集行的百分比,如下所示:TOP 120 /*Return the top 120 rows of the result set. */
    TOP 15 PERCENT /* Return the top 15% of the result set. */.如果一个 SELECT 语句既包含 TOP 又包含 ORDER BY 子句,那么返回的行将会从排序后的结果集中选择。整个结果集按照指定的顺序建立并且返回排好序的结果集的前 n 行。限制结果集大小的另一种方法是在执行一个语句之前执行 SET ROWCOUNT n 语句。SET ROWCOUNT 与 TOP 的不同之处在于: SET ROWCOUNT 限制适用对 ORDER BY 取值后在结果集中生成行。如果指定了 ORDER BY,SELECT 语句将在从某个已根据指定的 ORDER BY 分类进行了排序的值集中选择 n 行后终止。
    TOP 子句适用于指定了该子句的单个 SELECT 语句。在执行另一个 SET ROWCOUNT 语句之前,SET ROWCOUNT 会一直有效,例如执行 SET ROWCOUNT 0 将会关闭此选项。 
      

  4.   

    accp(accp) 我的“select top 10 ...是检索数据表的前10条而已!”的确说错了!
       你说的是没错,但是我不能用你的方法达到分页显示的目的。
    zh_baiyu(SkyBay) 对Oracle 当然可以了,但是SQL Server我就不知道怎么办了!·