本帖最后由 dangqinghua 于 2009-12-30 15:24:56 编辑

解决方案 »

  1.   

     
     string sql = "Select * from WLEVELHISTORYDATA where  WLEVELID = '" + poolid.ToString() + "' AND ROWNUM<=('" + PageSize + "'*('" + CurrentPage + "'-1)) order by WLEVHISID desc";
    怎么加个 ROWNUM<='" + PageSize + "'
      

  2.   

    楼主参照着拼去。select t.series_id,
    t.series_name,
    t.author,
    t.publisher_id,
    t.descriptions
    from (
    select row_number() over(order by init_letter desc) rn,
    series_id,
    series_name,
    author,
    publisher_id,
    descriptions
    from dat_ct_series
    where series_name like '%上海%'
    ) t
    where t.rn > in_page_size * (in_start_page-1)    --in_page_size 页面条数。in_start_page开始页数,从1开始。
    and t.rn <= in_page_size * in_start_page;
      

  3.   

    select * from (select row_.*, rownum rownum_ from ( select a.user_id,a.dept_id,  from  tf_d_depart a   where 1=1  and a.dept_id=22 order by t.rsrv_date2 desc ) row_ where rownum <= 20) where rownum_ > 0
    查询1到20
      

  4.   

    这样写不对,你必须把rownum放到子查询里,你才能引用的到。
      

  5.   

    create or replace procedure p_cms_tag_query_ex
    (
        str_tagname             in  t_cms_tag.tagname%type,                 --标签名
        str_pkgname             in  t_cms_tag_pkg.name%type,                --标签包名称
        i_beginrownum           in  number := 1,                            --开始行号
        i_endrownum             in  number := 50,                           --结束行号
        cur_result              out sys_refcursor,                          --结果集)
    is
    begin
                    open cur_result for
                          select tagid,
                                 tagname,
                                 (
                                  select wmsys.wm_concat(p.name) pkgname               
                                    from t_cms_tag_pkg_detail b, t_cms_tag_pkg p
                                   where b.tagpkgid = p.tagpkgid
                                     and b.tagid    = t.tagid
                                     --and rownum     = 1
                                 ) pkgname                                             
                            from (
                                  select t.*, rownum rn
                                    from (
                                          select tagid,
                                                 tagname
                                            from t_cms_tag t
                                           where t.tagname like '%' || str_tagname || '%'
                                           order by t.createtime desc,tagid
                                         ) t
                                   where rownum <= nvl(i_endrownum, 50)
                                 ) t
                           where rn >= nvl(i_beginrownum, 1);end;
    /
      

  6.   

    select * from (select r.*,rownum t from luru_table r) where t>=? and t<=?
      

  7.   

    如果是mysql 的话可以用 limit
    如果是oracle 的话。而且用到了hibernate框架的话。可以用
    q.setFirstResult(20000);
    setMaxResult();你查查。