select * from tablename a where (select count(*) from tablename where userid=a.userid and id<=a.id)=100 --效率比较低^_^

解决方案 »

  1.   

    -- 先把>100条的userid 过滤出来, 再从这个结果集中取第100条.select a.* 
    from tablename a, (select userid from tablename group by userid having count(*)>100)b
    where a.userid=b.userid
        and (select count(*) from tablename where userid=a.userid and id<=a.id)=100
      

  2.   

    select * from 表名 a
    where (select count(*) from tablename where id=a.id and id<=a.id)=100
    --------------------------------------------------
    我觉得直接取第100条就行啦,如果不满100条自然就过滤掉啦