SQL การใช้งานฟังก์ชัน AVG

ฟังก์ชัน AVG() ใน SQL ใช้เพื่อคำนวณค่าเฉลี่ยของค่าตัวเลขในคอลัมน์ที่ระบุจากชุดข้อมูลหนึ่ง ๆ ฟังก์ชันนี้สามารถใช้ได้ในหลากหลายรูปแบบ เช่น การหาค่าเฉลี่ยของคอลัมน์ใดคอลัมน์หนึ่งทั้งตารางหรือเฉพาะบางแถวตามเงื่อนไขที่กำหนด

สร้างตารางตัวอย่าง

สมมติเรามีตารางข้อมูลชื่อ Employees ที่เก็บข้อมูลพนักงาน ซึ่งประกอบไปด้วย 4 คอลัมน์ คือ EmployeeID, FirstName, LastName, Department, และ Salary

SQL
CREATE TABLE Employees (
    EmployeeID INT,
    FirstName VARCHAR(100),
    LastName VARCHAR(100),
    Department VARCHAR(50),
    Salary DECIMAL(10, 2)
);

INSERT INTO Employees (EmployeeID, FirstName, LastName, Department, Salary) VALUES
(1, 'John', 'Doe', 'IT', 50000.00),
(2, 'Jane', 'Smith', 'HR', 45000.00),
(3, 'Sam', 'Johnson', 'IT', 55000.00),
(4, 'Anna', 'Williams', 'Marketing', 47000.00),
(5, 'Paul', 'Brown', 'HR', 43000.00),
(6, 'Tom', 'Jones', 'IT', 60000.00);

ข้อมูลในตาราง Employees จะเป็นดังนี้

ตัวอย่างการใช้งานฟังก์ชัน AVG()

หาค่าเฉลี่ยของเงินเดือนทั้งหมดในตาราง

SQL
SELECT AVG(Salary) AS AverageSalary FROM Employees;

ผลลัพธ์

หาค่าเฉลี่ยของเงินเดือนแยกตามแผนก (Department)

SQL
SELECT Department, AVG(Salary) AS AverageSalary 
FROM Employees
GROUP BY Department;

ผลลัพธ์

หาค่าเฉลี่ยของเงินเดือนเฉพาะพนักงานในแผนก IT

SQL
SELECT AVG(Salary) AS IT_AverageSalary 
FROM Employees 
WHERE Department = 'IT';

ผลลัพธ์

หาค่าเฉลี่ยของเงินเดือนพนักงาน โดยไม่รวมพนักงานที่มีเงินเดือนต่ำกว่า 45000

SQL
SELECT AVG(Salary) AS AverageSalaryExcludingLow 
FROM Employees 
WHERE Salary >= 45000;

ผลลัพธ์

การประยุกต์ใช้งานฟังก์ชัน AVG()

  • ใช้ร่วมกับเงื่อนไข (WHERE Clause): ฟังก์ชัน AVG() สามารถใช้ร่วมกับเงื่อนไขใน WHERE เพื่อเลือกแถวที่ต้องการคำนวณค่าเฉลี่ยได้
  • ใช้ร่วมกับการจัดกลุ่ม (GROUP BY): สามารถใช้ GROUP BY เพื่อจัดกลุ่มข้อมูล และคำนวณค่าเฉลี่ยในแต่ละกลุ่มได้
  • ใช้ใน Subqueries: ฟังก์ชัน AVG() สามารถใช้ภายใน subquery เพื่อประมวลผลข้อมูลก่อนนำผลลัพธ์ไปใช้งานในคำสั่งหลักได้
แชร์เรื่องนี้