没玩过sybase,但是因为都是数据库,如果都支持SQL标准的话,下面这两个SQL语句应该可以帮你。
1、SELECT DISTINCT sFields FROM table WHERE (whichField NOT IN   (SELECT TOP page*pagesize [whichField]  FROM [table])) AND (whichField  IN  (SELECT TOP (page+1)*pagesize [whichField]  FROM [table]))(SQL server可以用)
2、SELECT sFields FROM table WHERE XXXX limit page*pagesize,(page+1)*pagesize(mysql 测试通过)。

解决方案 »

  1.   

    dang ran ke yi le !
      

  2.   

    Sybase 是没有top()函数,和limit函数的。你可以使用select (*,id=identity(10)) from youtable into #temp.插入临时表。
    然后,再使用select (*) from #temp where id between(1,20)来获得到。
    //===上面是在你已经写好连接池的情况下不愿意改代码的一种比较折中的方法(中数据量时运行可以大约10万数据级别,,100万以上就比较慢了。)//你可以在建立的连接的时候,可以通过动态设置setFetchSize()来确定返回的对象。
    这个适用于大数据量就是反复的数据库连接开闭比较频繁。
      

  3.   

    给你一个分页程序:分页程序<%
    java.sql.Connection sqlCon; 
    java.sql.Statement sqlStmt; 
    java.sql.ResultSet sqlRst; 
    java.lang.String strCon; 
    java.lang.String strSQL; 
    int intPageSize; 
    int intRowCount; 
    int intPageCount; 
    int intPage; 
    java.lang.String strPage;
    int i;
    String news_id;intPageSize = 5;
    strPage = request.getParameter("page");
    if(strPage==null){
    intPage = 1;
    }
    else{
    intPage = java.lang.Integer.parseInt(strPage);
    if(intPage<1) intPage = 1;
    }
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    strCon = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
    sqlCon = java.sql.DriverManager.getConnection(strCon,"sa","");
    sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
    strSQL = "select * from news where sort='"+request.getParameter("sort")+"' and language='"+request.getParameter("language")+"' order by issue_time desc";
    sqlRst = sqlStmt.executeQuery(strSQL);
    sqlRst.last();
    intRowCount = sqlRst.getRow();
    intPageCount = (intRowCount+intPageSize-1) / intPageSize;
    if(intPage>intPageCount) intPage = intPageCount;
    %><%
    if(intPageCount>0){
    sqlRst.absolute((intPage-1) * intPageSize + 1);
    i = 0;
    while(i<intPageSize && !sqlRst.isAfterLast()){
    news_id=sqlRst.getString("news_id"); out.println("<a href=list_detail.jsp?news_id="+sqlRst.getInt("news_id")+"&language="+request.getParameter("language")+"&sort=" + request.getParameter("sort") +" target=_blank><font color=black>"+ sqlRst.getString("title")+"</font></a><br>"+"<br>" );sqlRst.next();
    i++;
    }
    }
    %>
    </body>
    </html>
    <%
    sqlRst.close();
    sqlStmt.close();
    sqlCon.close();
    %>                  <p align="right"><font size="2"> 共<%=intPageCount%>页&nbsp; 共<%=intRowCount%>篇&nbsp; 第<%=intPage%>页
    &nbsp;&nbsp;<a href=list_more.jsp?page=1&sort=<%=request.getParameter("sort")%>&language=<%=request.getParameter("language")%>><font size="2" color="#000000">首页</font></a>&nbsp;
    <%if(intPage>1){%><a href="list_more.jsp?page=<%=intPage-1%>&sort=<%=request.getParameter("sort")%>&language=<%=request.getParameter("language")%>"><font size="2" color="#000000">上一页</font></a><%}%>&nbsp;
    <%if(intPage<intPageCount){%><a href="list_more.jsp?page=<%=intPage+1%>&sort=<%=request.getParameter("sort")%>&language=<%=request.getParameter("language")%>"><font size="2" color="#000000">下一页</font></a><%}%>&nbsp;
    &nbsp;<%if(intPage>1){%><%}%><a href="list_more.jsp?page=<%=intPageCount%>&sort=<%=request.getParameter("sort")%>&language=<%=request.getParameter("language")%>"><font size="2" color="#000000">尾页</font></a></font>&nbsp;&nbsp;
                      </p>
      

  4.   

    我这个是sqlserver的
    你看着改吧