mysql查询前百分之几的数据(以25%为例)

因为mysql没有top的用法,而且limit后也不支持子查询所以实现相对麻烦,
可以使用类似于Oracle中伪列的用法

select @rownum:=@rownum+1,student.* 
from (select @rownum:=0) row ,student;

可以看到表中有5条数数据
在这里插入图片描述

select round(count(*)/4) from student

在这里插入图片描述
补充一下这里的rownum只是个变量名,也可以是用其他的,不一定非得@rownum

select @rownum:=@rownum+1,student.* 
from (select @rownum:=0) row ,student
where @rownum<(select round(count(*)/4) from student);//查询列号小于25%的数据

在这里插入图片描述
mysql不支持top和rowid感觉挺伤的


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部