select * 
from (select a.*,rownum r from (select m.adminusername,m.admintypeid,m.adminarea,m.adminstate,c.membertypename 
from LDT_WEB_ADMIN m,LDT_WEB_CLUBMEMBER c 
where m.admintypeid=c.MEMBERTYPEID and adminusername<>'admin')a) 
where r between 1 and 10
上面语句在oracle中可以执行,但sql中不可以。。
怎么样得到select 行数,然后根据行数的范围列出记录呢???
希望各位高手帮忙~!!

解决方案 »

  1.   

    改成
    select * from (
      select a.*,rownum r from (
        select m.adminusername,m.admintypeid,m.adminarea,m.adminstate,c.membertypename 
        from LDT_WEB_ADMIN m,LDT_WEB_CLUBMEMBER c 
        where m.admintypeid=c.MEMBERTYPEID and adminusername<>'admin'
      ) a
    ) a
    where r between 1 and 10
      

  2.   

    rownum 
    这东西SQLSERVER里没有的 只有Top
      

  3.   


    select 
    count(1) as Rowid, 
    T1.adminusername,
    T1.admintypeid,
    T1.adminarea,
    T1.adminstate,
    T1.membertypename  
    from
    (select
     m.adminusername,m.admintypeid,m.adminarea,m.adminstate,c.membertypename 
    from 
    LDT_WEB_ADMIN m,LDT_WEB_CLUBMEMBER c 
    where 
    m.admintypeid=c.MEMBERTYPEID and adminusername<>'admin') T1
    join 
    (select
     m.adminusername,m.admintypeid,m.adminarea,m.adminstate,c.membertypename 
    from 
    LDT_WEB_ADMIN m,LDT_WEB_CLUBMEMBER c 
    where 
    m.admintypeid=c.MEMBERTYPEID and adminusername<>'admin') T2
    on  
    T1.adminusername > T2.adminusername  
    where 
    Rowid  between 1 and 10
    group by
    T1.adminusername,
    T1.admintypeid,
    T1.adminarea,
    T1.adminstate,
    T1.membertypename