ฟังก์ชัน 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) แม้ว่าอินพุตจะเป็นจำนวนเต็ม