作者regress ()
看板Database
標題[討論] 請問兩個抓取資料問題
時間Sun May 18 20:11:08 2014
大家好:
(一)
我有個資料庫(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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.217.123
※ 文章網址: http://www.ptt.cc/bbs/Database/M.1400415071.A.5B0.html
※ 編輯: regress (114.44.217.123), 05/18/2014 20:21:30
→ ratt1213:第一點,將所有資料寫入一張表後,可寫store procedure 05/19 18:09
→ ratt1213:來達成你要的運算,一般查詢命令不行 05/19 18:10
→ ratt1213:第二點,可透過substring指令來擷取需要的部分再串一起即 05/19 18:11
→ ratt1213:可 05/19 18:11