[討論] 請問兩個抓取資料問題

作者: regress   2014-05-18 20:11:08
大家好:
(一)
我有個資料庫(EQ_Movement),機台每隔20~30sec會傳當時的機台狀況寫入資料庫;
其中EQ_Name是機台名稱,EQ_Status是機台狀態(若機台異常代號為1),
MV_Time是回傳狀態的時間
現在我若要統計當天某A類型的機台(如:EQ_Name 編號為A開頭)各別發生
異常的總次數,請問該如何做?
(機台可能有A01,A02,A03....,且每個機台異常時間不等,但都各別算一次),
我希望整理出下表:
機台 NG次數
A01 4
A02 6
A03 2
我是撈出所有機台各別發生異常的總筆數
strSQL="SELECT EQ_Name,EQ_Status,count(*) as NG FROM EQ_Movement
where like EQ_Name like 'A%' andEQ_Status='1' group by EQ_Name "
但是這個總筆數有個問題,比如機台A01在AM9:05當機到AM9:08,
在資料庫這其間的EQ_Status都是NG(1),可是我只想把它算成一筆資料,
有就是說同一個異常算成一筆
我的異常時間最多不會超過3分鐘,請問有辦法做大致的篩選嗎?
(只要能盡可能接近真實的次數即可)
(二)
我要連的資料庫有一個時間欄位,他的格式如2014/5/18 19:54:30;
我想把同一分鐘的資料視作同一個事件
所以我只想把這資料取出2014/5/18 19:54,不要秒數,我查過資料,
有教你如何取小時,分,秒的函數,可是要如何同時取出年,分,秒
THX
作者: ratt1213 (一腿踢死你)   2014-05-19 18:09:00
第一點,將所有資料寫入一張表後,可寫store procedure
作者: ratt1213 (一腿踢死你)   2014-05-19 18:10:00
來達成你要的運算,一般查詢命令不行
作者: ratt1213 (一腿踢死你)   2014-05-19 18:11:00
第二點,可透過substring指令來擷取需要的部分再串一起即可

Links booklink

Contact Us: admin [ a t ] ucptt.com