mysql中如何查询最近24小时、top n查询

时间:2022-12-07 15:44:42

mysql中如何查询最近24小时、
where visittime >=  NOW() - interval 1 hour;

昨天、
where visittime between CURDATE()-interval 1 day and CURDATE();


最近7天、
where visittime between CURDATE()-interval 7 day ;


上周、
where week(visittime)= week(CURDATE()-interval 7 day )
and year(visittime)=year(CURDATE()-interval 7 day )


最近30天、
where visittime between CURDATE()-interval 30 day ;

上月的数据记录?
where DATE_FORMAT(visittime,'%Y%m')=DATE_FORMAT(CURDATE()-interval 1 month,'%Y%m')

mysql的top n查询

我们知道,在ms sql server中或access中,
若要查询前10条记录,使用top 10即可,
但在mysql中不支持这个写法,它用limit 10。 
 
我们可以利用MySQL中SELECT支持的一个子句——LIMIT——来完成这项功能。 
LIMIT可以实现top N查询,也可以实现M至N(某一段)的记录查询,具体语法如下: 
SELECT * FROM MYTABLE
ORDER BY AFIELD 
LIMIT offset, recnum
其中offset为从第几条(M+1)记录开始,recnum为返回的记录条数。例: 
select * from mytable
order by afield 
limit 2, 5 
即意为从第3条记录开始的5条记录。