A. sql server查詢距離當前時間最近的一條記錄,並且記錄的時間大於當前時間
selecttopn*fromtablewherecreate_date>getdate()orderbycreate_dateASC
這個語句就行了,要拉幾條就把n換成幾
這個語句首先按時間篩選大於當前時間的,然後按時間排序,從小到大排序,所以排前面的是離現在比較近的時間
B. sql 查資料庫中時間最新的一條記錄
select *,max(create_time) from a
where create_time<="2017-03-29 19:30:36"
group by user_id
這句可以理解為將結果集根據user_id分組,每組取time最大一條記錄。這樣就很好的實現了批量查詢最近記錄,並且僅僅需要遍歷一次表,即使在數據量巨大的情況下也可以在很短的時間查出結果。
(2)sql查詢最近時間的記錄擴展閱讀:
SQL數據查詢語句
1、語句語法簡單歸納為:
SELECTselect_list[INTOnew_table_name] [FROMtable_source]
[WHEREsearch_condition] [GROUP BYgroup_by_expression]
[HAVINGsearch_condition] [ORDER BYorder_expression[ASC | DESC]]
2、WITH子句用於指定臨時命名的公用表達式,在單條語句(SELECT、INSERT、UPDATE、DELETE)的語句執行范圍內定義。
3、LIKE關鍵字
用於模糊查詢,通配符有%、_、[ ]、[^]
%:後面可以跟零個或多個字元
_:匹配任意單個字元
[ ]:查詢一定范圍內的單個字元,包括兩端數據
[^]:表示不在一定范圍內的單個字元,包括兩端數據
C. sql server查詢當前時間(時分)最近的一條記錄,記錄時間大於當前時間(時分)
Select top 1 *from tabe order by datetime欄位 desc
對時間欄位降序排列 並取第一條記錄
D. 關於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
E. sql 如何查詢同一個欄位中,日期最近的那個記錄
使用「order by 欄位名 desc」對日期欄位進行倒序排序即可。
sql語法:select * from 表名 order by 日期欄位名 desc
其中,排序的時候order by 後面跟著需要進行排序的欄位名,排序可以有兩種,默認是asc升序(在sql中可以不寫),如果希望降序排列的話,可以使用desc。如你想要最近的日期的話就只需要降序即可。
舉例:如tpl_purchase_order 是我的訂單表,該表有一個欄位創建日期(欄位名:CREDATE)是日期類型,希望通過sql實現按照按照創建日期由近到遠的順序排列。
對應sql:select * from tpl_purchase_order order by credate desc;
sql執行後輸出結果為:
注意:在以上的結果中有兩個相等的公司名稱 (W3School)。只有這一次,在第一列中有相同的值時,第二列是以升序排列的。如果第一列中有些值為 nulls 時,情況也是這樣的。
F. sql如何查詢資料庫中最近日期的數據
select max(日期欄位) from table_name --得到的就是最近的日期
G. SQL 查詢某個欄位相同值的多條數據中,時間最近的那條記錄
select*fromtba
wherenotexists
(select1fromtbwhereid=a.idandtime>a.time)
H. SQL查詢出距當前時間最近的一條或多條記錄。
selecta.*from
表名asa,
(select物料,max(生效日期)as最新生效日期from表名groupby物料)asb
wherea.物料=b.物料anda.生效日期=b.最新生效日期
表名替換一下
I. SQL SERVER查詢最接近某個時間點的記錄
createtablet2
(
idint,
speedvarchar(20),
stimedatetime
)
insertintot2(id,speed,stime)values(1,'10','2015-04-2210:04:20');
insertintot2(id,speed,stime)values(1,'12','2015-04-2210:04:25');
insertintot2(id,speed,stime)values(1,'14','2015-04-2210:04:35');
selecttop(1)*from
(selectid,speed,stime,MIN(abs(DATEDIFF(second,stime,'2015-04-2210:04:28')))asxfromt2groupbyid,speed,stime)y
orderbyx