SQL Error (1235): This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery

来源:互联网 发布:mysql 树形结构查询 编辑:程序博客网 时间:2024/06/03 18:18

Mysql查询数据库表中前几条记录问题,我想好多朋友也会碰到,下面我简单的说下我遇到的情况,且解决方法,希望对好多朋友有许多帮助:

   下面是我数据库test中表student的数据,其中第二条记录被我删除了

图1

 在查询分析器中输入select * from student limit 5 ; 即可查询到下图的情况:

 

 

所以说,在Mysql中取出表中前几条记录是用关键字 limit,而在Sql-server中则是用top关键字,

但是Mysql 子查询却不支持 limit,也就是说,如:

select * from users where id not in (select id from users limit 3 ) and 1 limit 3 ;

是有语法错误的,

/* SQL Error (1235): This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' */

看下图显示:

 

 

但是看看下面,用两层嵌套的方法,居然可以……

select * from student where id not in (select t . id from (select * from student limit 7 ) as t );

 

 

太雷人了吧,呵呵……

 

其实我也不知道啥回事,先记着呗!

 

 

下面是Mysql查询数据库表中前几条记录的方法记含义:

 

 

select * from student limit 5 ; // 取出前五条记录

select * from student limit 0 ,5; //取出前五条记录select * from student limit 3,10;//取出3后面的10条记录,不包括3select*from student order by rand() limit 2;// 从表中随机取出2 条记录,这里2 可以自己改 
转自:http://blog.csdn.net/liu200909/article/details/6250647