Mysql查询数据库表中前几条记录
1个回答
展开全部
问题,我想好多朋友也会碰到,下面我简单的说下我遇到的情况,且解决方法,希望对好多朋友有许多帮助:
下面是我数据库test中表student的数据,其中第二条记录被我删除了
在查询分析器中输入select*fromstudentlimit5;即可查询到下图的情况:
所以说,在Mysql中取出表中前几条记录是用关键字 limit,而在Sql-server中则是用top关键字,
但是Mysql子查询却不支持
limit ,也就是说,如:select*fromuserswhereidnotin(selectidfromuserslimit3)and1limit3;是有语法错误的,
/* SQL Error (1235): This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' */
看下图显示:
但是看看下面,用两层嵌套的方法,居然可以select*fromstudentwhereidnotin(selectt.idfrom(select*fromstudentlimit7)ast);
太雷人了吧,呵呵
其实我也不知道啥回事,先记着呗!
下面是的方法记含义:select*fromstudentlimit5;//取出前五条记录select*fromstudentlimit0,5;//取出前五条记录select*fromstudentlimit3,10;//取出3后面的10条记录,
不包括3select*fromstudentorderbyrand()limit2;//从表中随机取出2条记录,这里2可以自己改
下面是我数据库test中表student的数据,其中第二条记录被我删除了
在查询分析器中输入select*fromstudentlimit5;即可查询到下图的情况:
所以说,在Mysql中取出表中前几条记录是用关键字 limit,而在Sql-server中则是用top关键字,
但是Mysql子查询却不支持
limit ,也就是说,如:select*fromuserswhereidnotin(selectidfromuserslimit3)and1limit3;是有语法错误的,
/* SQL Error (1235): This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' */
看下图显示:
但是看看下面,用两层嵌套的方法,居然可以select*fromstudentwhereidnotin(selectt.idfrom(select*fromstudentlimit7)ast);
太雷人了吧,呵呵
其实我也不知道啥回事,先记着呗!
下面是的方法记含义:select*fromstudentlimit5;//取出前五条记录select*fromstudentlimit0,5;//取出前五条记录select*fromstudentlimit3,10;//取出3后面的10条记录,
不包括3select*fromstudentorderbyrand()limit2;//从表中随机取出2条记录,这里2可以自己改
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询