愿意是在数据表中先按id从小到大排列,取出大于某个id号的前100条记录,并计算最大的id和实际的记录数,我按照以下的写法,是有错误的,请高手更正一下:SELECT count(*),max(id) FROM ( SELECT id FROM tjjtldb where id>100 order by id limit 0,10000 )

解决方案 »

  1.   

    取出大于某个id号的前100条记录
    select id from tjjtldb order by id limit 100并计算最大的id和实际的记录数 (这个记录数不是100吗? )
    select count(*),max(id)
    from (select id from tjjtldb order by id limit 100);
      

  2.   

    SELECT count(*),max(id) FROM 
    ( SELECT id FROM tjjtldb where id>100 order by id limit 100 ) 
      

  3.   

    哦明白了。试试这句吧. 要MySQL版本5以上才支持。
    select count(*),max(id)
    from (select id from tjjtldb where id>123 order by id limit 100)
      

  4.   

    我是用 MySQL query browser 执行的,是version 1.1.15,不知道版本对不对?没有说语句错误,但是左下角提示:The query could not be executed.
      

  5.   

    有这个错误提示:Description
    Every derived table must have its own aliasErrorNr.
    1248
      

  6.   

    本帖最后由 ACMAIN_CHM 于 2009-04-29 11:06:22 编辑
      

  7.   

    谢谢楼上各位,通过狗狗这条Every derived table must have its own alias信息,下面语句OK:
    select count(*),max(id)
    from (select id from tjjtldb where id>123 order by id limit 100) as t
      

  8.   

    是的,即使是5也是这个错误信息。
    mysql> select count(*) from (select id from tab where id>1 order by id limit 2);ERROR 1248 (42000): Every derived table must have its own alias
    mysql>