我有一个表叫cardinf  
主键是CardID 
假设现在该表有30条记录
由于程序需要  我要查询出该表里面主键不属于前面5条记录的主键的5记录(程序需要 必须得用limit 和 嵌套查询)
请问我该如何用
我做的是网页分页显示select * from cardinf  where  CardID not in
(select CardID FROM cardinf   limit 5 ) limit 5这是我的写法  可是提示说  数据库不支持该种嵌套查询  

解决方案 »

  1.   


    --limit是什么?
    select * from cardinf  where  CardID not in 
    (select top 5 CardID FROM cardinf) 
      

  2.   

    select a.* from cardinf a 
    left join (select CardID FROM cardinf  limit 5 ) as b 
    on a.CardID=b.CardID where isnull(b.CardID) limit 5
      

  3.   

    本帖最后由 yueliangdao0608 于 2008-10-16 14:07:56 编辑
      

  4.   

    mysql  没有top  server sql2000才有  我现在解决了  用
    begin 为开始的查询的记录号  也就是从第begin条开始查询
    pagenum为当前页数  假设为第二页begin = (pagenum-1)*5;
    select * from cardinf where CName =..  and PassOrNot =..  limit  begin ,5  
    limit 0 ,5 意思是从1到4这5条记录
    limti begin ,5就是查询从begin + 1到begin + 4这5条记录的意思