sql查询时间最近的
① sql查询出距当前时间最近的一条或多条记录。
selecta.*from
表名asa,
(select物料,max(生效日期)as最新生效日期from表名groupby物料)asb
wherea.物料=b.物料anda.生效日期=b.最新生效日期
表名替换一下
② sql server查询距离当前时间最近的一条记录,并且记录的时间大于当前时间
你都已经把逻辑理清楚了,先检索比当前日期大的,然后min出最小的
select min(rq) from table where rq > getdate()
③ 关于sql查找时间最近的信息
select tabname.* from tabname,
(
select name,max(date) date from tabname
group by name
) tab2
where tabname.name = tab2.name and tabname.date = tab2.date
④ SQL 查询某个字段相同值的多条数据中,时间最近的那条记录
select*fromtba
wherenotexists
(select1fromtbwhereid=a.idandtime>a.time)
⑤ sql server 按时间 查询最近几次的修改记录
假设表名为a,姓名字段为Name, 时间字段为Date
1. 如果可以使用开窗函数, 以姓名分开, 按照时间降序, 分别记录rownum, 筛选出rownum小于等于2的就是最近的两次
select *, ROW_NUMBER() OVER (PARTITION BY a.[Name] order by a.[Date] desc) rownum from a
where rownum <= 2
2. 没有开窗函数可以用子查询
SELECT * from a t1 where (select count(*) from a t2 where t2.Name= t1.Name and t2.Date> t1.Date) < 2 order by t1.Date desc
或者
SELECT * from a t1 where t1.Date in (select top 2 Date from a t2 where t2.Name= t1.Name order by t2.Date desc) order by t1.Date desc
⑥ sql语句怎么查询时间最近的
表里增加datetime字段 假如字段名为:updatetime
select top 1 from 表 where 类别 = 'A' order by updatetime desc
select top 1 from 表 where 类别 = 'B' order by updatetime desc
select top 1 from 表 where 类别 = 'C' order by updatetime desc
分别对应 A的最近一条信息,B的最近一条信息,C的最近一条信息
⑦ sql中,取时间最近的一条记录
select
*
from
test
A
where
date=(select
max(date)
from
test
B
where
A.sub_dh=B.sub_dh)
⑧ sql 查数据库中时间最新的一条记录
select*,max(create_time)froma
wherecreate_time<="2017-03-2919:30:36"
groupbyuser_id
这句可以理解为将结果集根据user_id分组,每组取time最大一条记录。这样就很好的实现了批量查询最近记录,并且仅仅需要遍历一次表,即使在数据量巨大的情况下也可以在很短的时间查出结果。
(8)sql查询时间最近的扩展阅读:
SQL数据查询语句
1、语句语法简单归纳为:
SELECTselect_list[INTOnew_table_name][FROMtable_source]
[WHEREsearch_condition][GROUPBYgroup_by_expression]
[HAVINGsearch_condition][ORDERBYorder_expression[ASC|DESC]]
2、WITH子句用于指定临时命名的公用表达式,在单条语句(SELECT、INSERT、UPDATE、DELETE)的语句执行范围内定义。
3、LIKE关键字
用于模糊查询,通配符有%、_、[]、[^]
%:后面可以跟零个或多个字符
_:匹配任意单个字符
[]:查询一定范围内的单个字符,包括两端数据
[^]:表示不在一定范围内的单个字符,包括两端数据
⑨ sql 查询 大于 并且距离 当前日期 最近的一条记录
可以参考以下几种方法:
1、sqlserver的语法:
select * from table t where t.date = ( select min( date ) from tablet1wheret1>= getdate() )
2、在oracle中可写成如下:
select * from 表 whereRQin (select min(RQ) from 表 whereRQ>sysdate);
(9)sql查询时间最近的扩展阅读:
SQL参考语句
增加列
Alter table table_name add column_name column_type [default 默认值]--在表中增加一列,[]内的内容为可选项
删除列
Alter table table_name drop column column_name--从表中删除一列
添加主键
Alter table tabname add primary key(col)