บทความนี้จะอธิบายรายละเอียดเกี่ยวกับการใช้งานฟังก์ชัน AVG ใน SQL Server พร้อมไวยากรณ์และตัวอย่างเฉพาะเจาะจง
คำอธิบาย
ฟังก์ชัน AVG ใน SQL Server คืนค่าค่าเฉลี่ยของนิพจน์ หรือค่าเฉลี่ยตามคอลัมน์ที่ระบุของแถวที่เลือก ค่า NULL จะไม่ถูกนับ
ไวยากรณ์
การคำนวณค่าเฉลี่ยใช้ฟังก์ชัน AVG ใน SQL Server ดังนี้:
SELECT AVG(cot)
FROM bang
[WHERE dieukien];
พารามิเตอร์:
- cot: คอลัมน์หรือค่าที่คำนวณได้ นิพจน์ที่ต้องการหาค่าเฉลี่ย
- bang: ตารางที่ใช้ดึงข้อมูล ต้องมีอย่างน้อย 1 ตารางในคำสั่ง FROM
- dieukien: ทางเลือก เงื่อนไขที่ระเบียนต้องเป็นไปตามเพื่อถูกเลือก
หมายเหตุ:
- ฟังก์ชัน AVG รองรับใน SQL Server 2005, 2008, 2008 R2, 2012, 2014, 2016, 2017 และเวอร์ชันใหม่กว่า
ตัวอย่างการใช้งาน
ดูตัวอย่างฟังก์ชัน AVG ใน SQL Server:
สมมติเรามีตารางข้อมูลดังนี้:

ตัวอย่าง 1: คำนวณค่าเฉลี่ยจำนวนบทความของเว็บไซต์ Quantrimang
SELECT AVG(Sobai) AS "So bai trung binh"
FROM Quantrimang
WHERE Sobai > 100;
-- ผลลัพธ์: So bai trung binh 128.2
ในตัวอย่างนี้เราคำนวณค่าเฉลี่ยสำหรับค่าทั้งหมดในข้อมูลที่ต้องการคำนวณ ดังนั้นผลลัพธ์ค่าเฉลี่ยคำนวณได้ดังนี้: นำผลรวมของคอลัมน์ Sobai มาหารด้วยจำนวนแถวทั้งหมดที่มีค่ามากกว่า 100
ตัวอย่าง 2: ใช้ DISTINCT
SELECT AVG(DISTINCT Sobai) AS "So bai trung binh"
FROM Quantrimang
WHERE Sobai > 100;
-- ผลลัพธ์: So bai trung binh 135
ตัวอย่างนี้ใช้คีย์เวิร์ด DISTINCT ดังนั้นค่าที่ซ้ำกันจะนับเพียงครั้งเดียว ในตารางข้อมูลที่ให้มา ค่า '101' ปรากฏ 2 ครั้ง แต่ถูกนับเพียงครั้งเดียว ดังนั้นจำนวนแถวที่คำนวณจะเป็น 4 ผลลัพธ์ค่าเฉลี่ยคำนวณได้ดังนี้:
(152 + 101 + 122 + 165) / 4 = 135
ตัวอย่าง 3: คำนวณค่าเฉลี่ยตามคอลัมน์ที่ระบุของแถวที่เลือก
เพื่อคำนวณค่าเฉลี่ยตามคอลัมน์ที่ระบุของแถวที่เลือก เราใช้คำสั่ง GROUP BY
ตัวอย่างต่อไปนี้คำนวณค่าเฉลี่ยของทุกระเบียนที่เกี่ยวข้องกับหมวดหมู่ใหญ่:
SELECT Chuyenmuclon, AVG(Sobai) AS "So bai trung binh"
FROM Quantrimang
GROUP BY Chuyenmuclon;
-- ผลลัพธ์:
-- Chuyenmuclon So bai trung binh
-- Laptrinh 108
-- Mang xa hoi 158.5
-- Trinh duyet web 94