我不知道我的数据库最新数据是哪天的,我要查询最新两天的所有数据,sql语句改怎么写,怎么写后面的
sqlserver的话有DATEDIFF函数,跟今天比较,差两天的
where DATEDIFF(day,datefield,getdate()) = 2
http://blog.csdn.net/hanjingjingpan/article/details/6022014
如果是48小时内
select * from info where DateDiff(hh,datetime,getDate())<48
如果是2天内
SELECT * FROM A where datediff(d,datetime,getdate()) <2
两个方法的区别,比如现在是下午3点,那么第一个方法可以查询到2天前晚于3点的数据。第二个方法只是在日期上比较,查询从昨天0点开始的数据
那么在查询的时候按日期倒序排列,然后在select top 2,应该就可以查出最新两天数据了吧,不知道是不是你想要的结果
1、通过max获取最新日期
SELECT MAX(日期字段) from 表
2、最新日期减去2天,这一般数据库都有响应函数
最终语句:
SELECT A.* from 表 A where a.日期>=日期相减函数((SELECT MAX(日期字段) from 表),-2天)
写的例子,参考一下吧
select t.* from t_alarm_log t inner JOIN (select MAX(START_TIME) maxTime from t_alarm_log)a on DATEDIFF(a.maxTime,t.START_TIME) <=2