sql如何取当前时间最近的一条记录

select InsertTime,StockID,StockValue,Creator from PDS_SpeedStock

第1个回答  推荐于2017-12-24
select top 1 InsertTime,StockID,StockValue,Creator from PDS_SpeedStock where InsertTime=(select max(InsertTime) from PDS_SpeedStock)

这样?

追问

根据我当前传的时间来获取他前一条数据

追答

什么意思?能用数据简单说明一下吗?

追问

比如 数据库里有几条数据时间分别是
2013-12-16,
2013-12-17,
2013-12-18,
2013-12-19,
写一条sql根据我传入的时间来获取他前一条数据
如我输入2012-12-20获取到2013-12-19
输入2013-12-17 获取到2013-12-16

追答select InsertTime,StockID,StockValue,Creator from PDS_SpeedStock
where 
datediff(day,InsertTime,cast('2013-12-20' as datetime))=
(select min(datediff(day,InsertTime,cast('2013-12-20' as datetime))) from 
PDS_SpeedStock where datediff(day,InsertTime,cast('2013-12-20' as datetime))>0)

本回答被提问者采纳
第2个回答  2017-03-03
select   *  from     
(select   top 1   *   from   表名   order   by   date1)   table1 order   by   date1   desc

第3个回答  2017-12-24
这个很简单,看了很多这样问题都是蛮复杂的写法,只要top1并倒序即可
select top 1 * from 表名 where 条件 order by 日期 desc
相似回答