Warning: file_get_contents(/home/gcms/public_html/skin/datas/users/goro/skin/2017/amp.css): failed to open stream: No such file or directory in /home/gcms/public_html/Gcms/Amp.php on line 32
คำสั่ง SQL เพื่อสรุปข้อมูลที่อยู่ในรูปแบบเร็คคอร์ดหลายๆแถว ให้เป็นข้อมูลในรูปคอลัมน์

GORAGOD

คำสั่ง SQL เพื่อสรุปข้อมูลที่อยู่ในรูปแบบเร็คคอร์ดหลายๆแถว ให้เป็นข้อมูลในรูปคอลัมน์

คำสั่ง SQL เพื่อสรุปข้อมูลที่อยู่ในรูปแบบเร็คคอร์ดหลายๆแถว ให้เป็นข้อมูลในรูปคอลัมน์ เช่นการสรุปจำนวนสต๊อกสินค้าขาเข้าและขาออกในรูปแบบรายเดือน

ตัวอย่างข้อมูลจากตาราง stock ซึ่งมีลักษณะเป็นเร็คคอร์ดดังรูป
ต้องการสรุปข้อมูล IN และ OUT เป็นรายเดือน สามารถเขียนคำสั่ง SQL ได้ดังนี้
SELECT
  `month`,
  SUM( IF(`status`='IN', `quantity`, NULL) ) AS `IN`,
  SUM( IF(`status`='OUT', `quantity`, NULL) ) AS `OUT`
FROM `stock`
GROUP BY `month`

ผลลัพท์
หลักการก็คือ เราจะใช้ IF() ในการคัดเลือกข้อมูล IN มาใส่คอลัมน์ IN และคัดเลือกข้อมูล OUT ไปใส่คอลัมน์ OUT เสร็จแล้วทำการรวมผลลัพท์และจัดกลุ่มเป็นรายเดือน
นอกจากการใช้ SUM แล้วเรายังสามารถใช้ฟังก์ชั่นของ SQL อื่นๆในกลุ่ม Aggregate Function เช่น MIN() MAX() เพื่อสรุปข้อมูลที่ต้องการได้อีกด้วย