select
tablename_tmp.*,
@rownum:=@rownum+1 ,
if(@pyear=tablename_tmp.year,@rank:=@rank+1,@rank:=1) as rank,
@pyear:=tablename_tmp.year
from (
select * from tablename order by year asc
)
tablename_tmp ,
(select @rownum :=0 , @pyear := null ,@rank:=0) a
)
result where rank <=10
你这里其他条件判断是前十条记录吗?上面是每年各取十条。
MySql查询前10条数据sql语句为:select * from table_name limit 0,10 。
通常0是可以省略的,直接写成 limit 10。0代表从第0条记录后面开始,也就是从第一条开始。
扩展资料:
1、SQLServer查询前10条的方法为:
select top X * from table_name
2、ORACLE查询前10条的方法:
select * from table_name where rownum<X
3、Informix查询前10条记录的方法:
select first 10 * from tablename
参考资料:MySQL 查询数据_w3cschool
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)