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 阅读 7 次 更新于 2025-07-20 16:28:34 我来答关注问题0
  • 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)...

  • 当我们需要查询“orders”表中的日期信息时,我们可以使用MySQL的DATE函数来进行日期转换和比较。例如,下面的SQL语句会查询“orders”表中日期在2019年5月1日和2019年6月30日之间的所有订单:SELECT FROM orders WHERE order_date BETWEEN DATE(‘2019-05-01’) AND DATE(‘2019-06...

  • - 年度查询:`SELECT * FROM `ht_invoice_information` WHERE YEAR(create_date) = YEAR(NOW())`(当前年份)和`year(create_date) = year(date_sub(now(),interval 1 year))`(上年份)。- 周查询:`SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%...

  • 一、MySQL 5.1版 首先来看MySQL 5.1版的截图,这个版本发布于2008年,它的界面比较简单,操作也相对简单明了。我们可以看到它的主界面上显示了数据库的基本信息,比如字符集、版本、安装路径等等。左边栏可以浏览各个数据库中的表、视图以及其他对象,这样我们可以更加方便地查询和管理自己的数据库。二...

  • 8.查询表中出生日期为1998年的学生:SELECT * FROM student WHERE birthdate=’1998-01-01′;9.更新表中数学成绩小于60分的学生的成绩:UPDATE student SET math=60 WHERE math 10.删除表中出生日期在1995年之前的学生:DELETE FROM student WHERE YEAR(birthdate)总结:MySQL中的条件判断...

檬味博客在线解答立即免费咨询

mySQL相关话题

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