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只是个变量名
因为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感觉挺伤的
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)