Access数据库中怎么获取最近时间中的第一条记录?

时间:2023-01-06 21:40:40
最近在做一个曲线图。用Ajax和JQuery。一切都做好了。问题是数据源后来换了一个简单的。用Access数据库。现在要获取与当前时间最近的一条记录。求怎么获取。(ps:用where子句写最好)

9 个解决方案

#1


如果是sql server

select top 1 * from tb where 时间字段 < getdate() order by 时间字段 desc

如果是access,请去这个access版问.

#2


不知道楼主要什么样的语句.
ACCESS与MSSQL查询语句相差不是太大,主要有 case 语句要换成 iif,转换函数也要换成ACCESS的,连接字符串要改等等,别的没什么了.

#3


select top 1 * from tb order by 时间 desc

#4


能够和Oracle数据库通用的就ok

#5


oracle。mysql .apache行吗?

#6


引用 4 楼 a810889915 的回复:
能够和Oracle数据库通用的就ok

--sql server写法如下:
select top 1 * from tb where 时间字段 < getdate() order by 时间字段 desc

--oracle写法如下
select t.* from tb t where 时间字段 < sysdate and rownum = 1 order by 时间字段 desc

--access不知道

注意:sql server在oracle这个写法上不可能一样.

#7


注意:sql server和oracle在这个写法上不可能一样.或者说,不可能通用.

#8


--MSSQL的
select top 1*  from tb order by abs(datediff(ss,时间字段,getdate()) desc

#9


这个问题我昨天搞定了。不过,还是很谢谢大家。具体sql语句如下:select * from 表名 where 时间列 = (select max(时间列) from 表名);不过真的很谢谢大家了。

#1


如果是sql server

select top 1 * from tb where 时间字段 < getdate() order by 时间字段 desc

如果是access,请去这个access版问.

#2


不知道楼主要什么样的语句.
ACCESS与MSSQL查询语句相差不是太大,主要有 case 语句要换成 iif,转换函数也要换成ACCESS的,连接字符串要改等等,别的没什么了.

#3


select top 1 * from tb order by 时间 desc

#4


能够和Oracle数据库通用的就ok

#5


oracle。mysql .apache行吗?

#6


引用 4 楼 a810889915 的回复:
能够和Oracle数据库通用的就ok

--sql server写法如下:
select top 1 * from tb where 时间字段 < getdate() order by 时间字段 desc

--oracle写法如下
select t.* from tb t where 时间字段 < sysdate and rownum = 1 order by 时间字段 desc

--access不知道

注意:sql server在oracle这个写法上不可能一样.

#7


注意:sql server和oracle在这个写法上不可能一样.或者说,不可能通用.

#8


--MSSQL的
select top 1*  from tb order by abs(datediff(ss,时间字段,getdate()) desc

#9


这个问题我昨天搞定了。不过,还是很谢谢大家。具体sql语句如下:select * from 表名 where 时间列 = (select max(时间列) from 表名);不过真的很谢谢大家了。