การหาค่า Avg Max Min ในสภาวะ Realtime ด้วย Insert into select

การหาค่า Avg Max Min ในสภาวะ Realtime ด้วย Insert into select

Today, 08:01 AM
    Realtime คือเวลาจริง หรือความคงที่ในการทำงาน ตามช่วงเวลาที่ออกแบบไว้
เช่น Realtime 1 นาที หมายความว่า ใน 1 นาทีต้องมีข้อมูล 1 ค่า  กรณีต้องการ ค่า Avg max min แสดงว่าใน 1 นาที ต้องทำการ sample ข้อมูลมาเก็บไว้ก่อน(ควรเป็นจำนวน คี่)
    การหาค่า AVG ควรใช้ Database เป็นที่เก็บข้อมูล แล้วสั่งรัน insert into select เพื่อป้องกันข้อผิดพลาดในเรื่องของ ขอบเขตของเวลา อันเกิดจาก การคำนวณด้วย Array  เช่น index แรก ของ array เริ่มที่ 00 วินาที (เป็นเรื่องที่กำหนดได้ยากในการเขียนโปรแกรม)
  
ตัวอย่าง SQL(mySQL)
INSERT INTO catman.sensorhismin ( DateTime,SensorID,ValueAvg,ValueMax,ValueMin,ValueMag)
(
     SELECT DateTime, SensorID,
     Avg( Value ) AS ValueAvg,
     Max( Value ) AS ValueMax,
     Min(Value) AS ValueMin,
     sum( abs( Value ) ) AS ValueMag
     From Catman.sensorhis
     WHERE DATETIME >= ( '2014-02-18 00:40:00' )  AND
                  DATETIME <=  ( '2014-02-18 00:40:59' )  GROUP BY SensorID
);

Comments