Ⅰ 請教sql語句,查詢統計故障率。
SELECT DATEDIFF(SECOND,A.故障開始時間,A.故障結束時間)/DATEDIFF(SECOND,B.開機時間,GETDATE()) FROM A INNER JOIN B ON A.設備號=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關鍵字
用於模糊查詢,通配符有%、_、[ ]、[^]
%:後面可以跟零個或多個字元
_:匹配任意單個字元
[ ]:查詢一定范圍內的單個字元,包括兩端數據
[^]:表示不在一定范圍內的單個字元,包括兩端數據
Ⅲ sql如何提取最新的時間記錄
你要取最新的時間記錄 只要取得最大的時間就行了 max(時間欄位)
如果用oracle 就得轉化一下時間 todate().
Ⅳ SQL分組查詢每個組的最新時間和上一個時間的某個欄位值的差
select datediff(mi,最新時間,上一個時間)
--此求出來的為正數,如果需要負數,在前面加上-號,或者將兩個時間調換
Ⅳ 怎樣獲取sql表數據的最後更新時間
第一種方式(塊級跟蹤):
select ora_rowscn,
dbms_rowid.ROWID_BLOCK_NUMBER(rowid) blockid,
scn_to_timestamp(ora_rowscn)
from hs_futures.fuentrust t
order by scn_to_timestamp(ora_rowscn);
dbms_rowid.ROWID_BLOCK_NUMBER(rowid):是為獲取數據所在塊的ID
scn_to_timestamp(ora_rowscn):獲取數據最所修改的時間
數據發現變化後通過上面SQL語句可以查看到數據最後修改的時間,注意因為是同一個塊上,所以這個塊上只要有DML操作那麼所有數據的scn都更新了,所以凡是跟這條記錄在同一個塊上數據獲取到的ora_rowscn和scn_to_timestamp(ora_rowscn)兩個值都發生了相應的變化。
第二種方式(行級跟蹤):
create table hs_futures.fuentrust_test1 rowdependencies as
select * from hs_futures.fuentrust
用以上語句創建一個基於ROWDEPENDENCIES模式的表,然後用第一種方法中的SQL去查詢此表數據中的ora_rowscn,scn_to_timestamp(ora_rowscn)兩個值,修改其中的某一條記錄然後再去查詢那個值發現發生變化的只是被修改那條記錄的這兩個值發生了變化,而在同一個塊中沒有被修改的其它記錄這兩個值是不會產生變化的。
Ⅵ SQL按時間搜索最新記錄問題
select 物料編碼,時間,價格
from tableA X
where 時間=
(select max(時間)
from tableA Y
where X. 物料編碼=Y.物料編碼)
樓上的寫法也可以,但是只限定表中物料僅三種的情況。如果物料數據很多,不止三種的話,最好用我提供的方法
Ⅶ sql 查詢問題:如何獲取表中最新時間
年,月,日,時,分,秒,你是分在不同的欄位存的是吧,那麼,年份是最大的單位是吧,年份數值最大的就是時間最新的,後邊的月,日等等就都可以省略了不是。如果年份相同,那麼再比較月份最大的,如果月份相同再比較.....費話太多了,省略之,咱說重點
MySQL語句:
SELECT * FROM `grmc_awst_ele` ORDER BY `c_oyyyy` DESC,`c_omm` DESC,`c_odd` DESC,`C_OHH` DESC,`C_OMN` DESC,`C_OSS` DESC LIMIT 1
然後你括弧里的東西「(年 datatime)」數據類型是datatime嗎?為什麼你把年,月,日,時,分,秒存在不同的欄位卻使用這種數據類型,滑稽吧。
我敢打保證,我上邊的語句在Mysql下邊一定能起到你要的效果,但是不知道你的sql是什麼。
Ⅷ SQL 如何獲取時間最新的記錄
select top 1 * from table order by dateField desc 按時間倒序排,取第一條就是最新的記錄
Ⅸ sql 語句問題,如何查詢一個時間 最近的10條記錄
select top(10)* , abs(datediff(day,時間列名,'2008-02-22')) as 相差天數 from 表名
order by 相差天數--排序,升序
---------------------------------
abs--取絕對值的
datediff(day,time,'2008-02-22')) --取出相差'20080222'的相差天數
並且取別名為aaaa
Ⅹ SQL找出時間最新的一組記錄
這個用SELECT DISTINCT就可以解決了。
DISTINCT是專門去重復的
SELECT DISTINCT A, B FROM TABLE
去重復的依據就是DISTINCT後邊的欄位,如果SELECT DISTINCT A FROM TABLE,那麼選擇不重復的A,SELECT DISTINCT A, B FROM TABLE ,那麼選擇不重復的A,B組合。
SELECT DISTINCT * FROM TABLE,那麼選擇不重復的表單行記錄。