愿意是在数据表中先按id从小到大排列,取出大于某个id号的前100条记录,并计算最大的id和实际的记录数,我按照以下的写法,是有错误的,请高手更正一下:SELECT count(*),max(id) FROM ( SELECT id FROM tjjtldb where id>100 order by id limit 0,10000 )
取出大于某个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);
SELECT count(*),max(id) FROM ( SELECT id FROM tjjtldb where id>100 order by id limit 100 )
哦明白了。试试这句吧. 要MySQL版本5以上才支持。 select count(*),max(id) from (select id from tjjtldb where id>123 order by id limit 100)
我是用 MySQL query browser 执行的,是version 1.1.15,不知道版本对不对?没有说语句错误,但是左下角提示:The query could not be executed.
有这个错误提示:Description Every derived table must have its own aliasErrorNr. 1248
本帖最后由 ACMAIN_CHM 于 2009-04-29 11:06:22 编辑
谢谢楼上各位,通过狗狗这条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
是的,即使是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>
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);
( SELECT id FROM tjjtldb where id>100 order by id limit 100 )
select count(*),max(id)
from (select id from tjjtldb where id>123 order by id limit 100)
Every derived table must have its own aliasErrorNr.
1248
select count(*),max(id)
from (select id from tjjtldb where id>123 order by id limit 100) as t
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>