mysql如何查询各年的前10条记录

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
mysql如何查询各年的前10条记录
select * from (selecttablename_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; 你这里其他条件判断是前十条记录吗?上面是每年各取十条。
2013-08-20
SELECT id,year,energy,company FROM 表名 a
WHERE 10 > (SELECT COUNT(*) FROM 表名 b WHERE id>a.id AND year=a.year)
ORDER BY a.year2013-08-20
有哪些年份知道吗?知道的话用每个年份单独取前十条然后用union连接就好了
不知道的话先用游标把年份取出来,然后弄个循环来取
暂时没想到更好的方式2013-08-20
mengvlog 阅读 38 次 更新于 2025-12-18 13:32:29 我来答关注问题0
檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部