Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

ฟังก์ชัน AVG ใน SQL Server

บทความนี้จะแสดงรายละเอียดเกี่ยวกับวิธีใช้ฟังก์ชันประมวลผลตัวเลข AVG () ใน SQL Server พร้อมไวยากรณ์และตัวอย่างเฉพาะเพื่อให้เห็นภาพและจับภาพฟังก์ชันได้ดียิ่งขึ้น

อธิบาย

ฟังก์ชัน AVG ใน SQL Server จะส่งคืนค่าเฉลี่ยของนิพจน์หรือค่าเฉลี่ยตามคอลัมน์ที่ระบุของแถวที่เลือก ค่า NULL ละเว้นไม่นับ

ไวยากรณ์

ในการคำนวณค่าเฉลี่ย เราใช้ฟังก์ชัน AVG ในไวยากรณ์ของ SQL Server ดังนี้:

 SELECT AVG(cot) 
FROM bang
[WHERE dieukien];

พารามิเตอร์ :

  1. เปล: คอลัมน์หรือค่าที่คำนวณได้ นิพจน์ที่คุณต้องการหาค่าเฉลี่ย
  2. state:the ตารางที่ใช้ในการดึงบันทึก ต้องมีอย่างน้อย 1 ตารางในส่วนคำสั่ง FROM
  3. ดียูเคียน: ไม่จำเป็น. เงื่อนไขที่บันทึกต้องเป็นไปตามจึงจะเลือกได้

หมายเหตุ :

  1. ฟังก์ชัน AVG สามารถใช้ได้ในเวอร์ชันที่ใหม่กว่าของ SQL Server:SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008 และ SQL Server 2005

ตัวอย่าง

ลองดูและสำรวจตัวอย่างฟังก์ชัน AVG ใน SQL Server

สมมติว่าเรามีตารางข้อมูลดังต่อไปนี้:

ฟังก์ชัน AVG ใน SQL Server

ตัวอย่างที่ 1:คำนวณจำนวนโพสต์เฉลี่ยของเว็บไซต์ Quantriman

 SELECT AVG(Sobai) AS "So bai trung binh" 
FROM Quantrimang
WHERE Sobai > 100;

Result: So bai trung binh 128.2

ในตัวอย่างนี้ เราคำนวณค่าเฉลี่ยสำหรับค่าทั้งหมดในข้อมูลที่จะคำนวณ ดังนั้นผลลัพธ์เฉลี่ยจะถูกคำนวณดังนี้ นำผลรวมของคอลัมน์โซบาย แล้วหารด้วยจำนวนบรรทัดทั้งหมดกับข้อมูลอื่น มีค่ามากกว่า 100

ตัวอย่างที่ 2:ใช้ DISTINCT

 SELECT AVG(DISTINCT Sobai) AS "So bai trung binh" 
FROM Quantrimang
WHERE Sobai > 100;

Result: So bai trung binh 135

ตัวอย่างนี้ใช้คำหลัก DISTINCT ดังนั้นค่าที่ซ้ำกันจะถูกนับเพียงครั้งเดียว ในตารางข้อมูลที่กำหนด ค่า '101' ปรากฏสองครั้ง แต่นับเพียงครั้งเดียว ดังนั้นจำนวนรวมของบรรทัดที่คำนวณได้จะเป็น 4 ผลลัพธ์โดยเฉลี่ยจะถูกคำนวณดังนี้:

 (152 + 101 + 122 + 165)/4 = 135 

ตัวอย่างที่ 3:คำนวณค่าเฉลี่ยตามคอลัมน์ที่ระบุของแถวที่เลือก

ในการคำนวณค่าเฉลี่ยตามคอลัมน์ที่ระบุของแถวที่เลือก เราใช้ GROUP BY ข้อ

ตัวอย่างต่อไปนี้จะคำนวณค่าเฉลี่ยของระเบียนทั้งหมดที่เกี่ยวข้องกับหมวดหมู่ขนาดใหญ่ และคุณจะดำเนินการดังต่อไปนี้:

 SELECT Chuyenmuclon, AVG(Sobai) AS "So bai trung binh" 
FROM Quantrimang
GROUP BY Chuyenmuclon;

Result:
Chuyenmuclon So bai trung binh
Laptrinh 108
Mang xa hoi 158.5
Trinh duyet web 94