MySQL การใช้งานฟังก์ชัน AVG()

ฟังก์ชัน AVG() (Average) ใน MySQL ใช้สำหรับคำนวณค่าเฉลี่ยเลขคณิต (Arithmetic Mean) ของชุดข้อมูลตัวเลขในคอลัมน์ที่ระบุ

  • เป็น Aggregate Function ซึ่งใช้รวมค่าหลายแถวให้อยู่ในผลลัพธ์เดียว
  • ฟังก์ชันนี้จะไม่รวมค่าที่เป็น NULL ในการคำนวณ

ประโยชน์ของฟังก์ชัน AVG()

  • ใช้คำนวณค่าเฉลี่ยของยอดขาย, คะแนน, ราคา, ระยะเวลา ฯลฯ
  • เหมาะสำหรับการวิเคราะห์แนวโน้มข้อมูล เช่น
    • ค่าเฉลี่ยรายได้ของลูกค้า
    • ระยะเวลาการเช่าเฉลี่ย
    • คะแนนเฉลี่ยในการสอบ

รูปแบบการใช้งาน

AVG(column_name)
  • column_name คือชื่อคอลัมน์ที่เป็นข้อมูลตัวเลข (INT, FLOAT, DECIMAL, ฯลฯ)

ตัวอย่างการใช้งาน

คำนวณค่าเฉลี่ยยอดการชำระเงิน

SQL
SELECT AVG(amount) AS avg_payment
FROM payment;
  • แสดงค่าเฉลี่ยของคอลัมน์ amount ในตาราง payment

คำนวณค่าเฉลี่ยตามกลุ่ม (ใช้ร่วมกับ GROUP BY)

SQL
SELECT customer_id, AVG(amount) AS avg_payment
FROM payment
GROUP BY customer_id;
  • แสดงค่าเฉลี่ยของการชำระเงิน แยกตามลูกค้าแต่ละคน

คำนวณค่าเฉลี่ยความยาวภาพยนตร์

SQL
SELECT AVG(length) AS avg_length
FROM film;

ใช้ร่วมกับ ROUND() เพื่อลดทศนิยม

SQL
SELECT ROUND(AVG(length), 2) AS avg_length_2dec
FROM film;

หมายเหตุ

  • AVG() จะไม่นับแถวที่มีค่า NULL ต้องระวังหากคอลัมน์มีค่าหายไป
  • ใช้กับคอลัมน์ตัวเลขเท่านั้น หากใช้กับข้อมูลชนิดอื่นจะเกิดข้อผิดพลาด
  • ผลลัพธ์ที่ได้เป็นชนิดทศนิยม (DECIMAL) แม้ว่าอินพุตจะเป็นจำนวนเต็ม
แชร์เรื่องนี้