mysql 怎么查询30天以前的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 怎么查询30天以前的数据相关的知识,希望对你有一定的参考价值。

参考技术A select * from table where time < DATE_SUB(ddate,INTERVAL30 DAY)
ddate为当天日期, DATE_SUB(ddate,INTERVAL30 DAY)为当天日期往前推30天本回答被提问者采纳

sql 怎么先分组再查询每组中前三天数据?

字段:StudentName , Score , Class 分别为学生姓名,分数,班级 要求查询出每个班级成绩前三的3个人最后按班级排序显示出数据。

SELECT TEST1.STUDENTNAME, TEST1.SCORE, TEST1.CLASS
FROM (SELECT STUDENTNAME,
SCORE,
CLASS,
ROW_NUMBER() OVER(PARTITION BY CLASS ORDER BY CLASS, SCORE DESC) ROW_NUM
FROM TABLE_NAME) TEST1
WHERE TEST1.ROW_NUM <= 3
ORDER BY TEST1.CLASS, TEST1.STUDENTNAME
看看是不是你要的,这用到了分组排序编号
参考技术A 有一种比较中规中矩的办法:

先把班级列表插入一张临时表:
select distinct(Class) from table into #abc

用游标循环这张临时表,把每个班级成绩前三的人取出来,插入另外一张临时表:
insert into #result select top 3 * from table where class = @class order by Score desc

最后把#result表select出来

看楼下有没有更简便的办法,可以不用游标
参考技术B mark ,同学习

以上是关于mysql 怎么查询30天以前的数据的主要内容,如果未能解决你的问题,请参考以下文章

linux mysql数据库备份 与自动删除30天以前的备份

mysql查询近30天

mysql查询今天昨天近7天近30天本月上一月的SQL语句

mysql查询今天,昨天,近7天,近30天,本月,上一月数据

如何在 30 天记录之前在 mysql 查询中添加 where 条件

mysql查询近30天