วันเสาร์ที่ 13 สิงหาคม พ.ศ. 2554

SQL หาผลรวมของข้อมูลพร้อมแสดง Record ล่าสุด


(SELECT
 # max(date_format(rawdata_t.TimeTag_DT, '%d-%m-%Y %H:%i')) AS TimeTag_DT, //เปลี่ยน วัน-เดือน-ปี
 max(rawdata_t.TimeTag_DT) AS TimeTag_DT,
  rawdata_t.Device_ID,
  rawdata_t.Reading_FL as rains,
  SUM(rawdata_t.Reading_FL) AS sumrains,
  'n/a' AS dates_1,  #เป็นการกำหนดค่าให้กับ field ใหม่ สั่งให้ n/a ไปเก็บไว้ที่ dates_1
  'n/a' AS Device_ID_1,
  'n/a' AS wlevels,
  'n/a' AS dates_2,
  'n/a' AS Device_ID_2,
  'n/a' AS flows,
  if(max(DATE_FORMAT(rawdata_t.TimeTag_DT, '%Y-%m-%d')) <> CURDATE(), 'ERROR', 'Normal') AS checks, #ตรวจสอบว่าวันที่ดึงจาก db มีค่าเท่ากับวันปัจจุบันหรือเปล่าถ้าไม่เท่าให้แสดง ERROR ใน Field checks ถ้าเท่าให้แสดงเป็น Normal
  'TU01' AS code
 # curdate() AS mydt, //เช็ควันปัจจุบัน
 # max(DATE_FORMAT(rawdata_t.TimeTag_DT, '%Y-%m-%d')) AS mydt1 //เช็ควันล่าสุดจาก db
FROM
  rawdata_t
WHERE
  rawdata_t.Device_ID = 1
GROUP BY
month(rawdata_t.TimeTag_DT),year(rawdata_t.TimeTag_DT)
order by
  rawdata_t.TimeTag_DT DESC
limit 1)
#


ไม่มีความคิดเห็น:

แสดงความคิดเห็น