Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

หาค่าเงินเดือนสูงสุดใน MySQL ด้วย MAX()

ไวยากรณ์พื้นฐาน

SELECT MAX(yourColumn) AS alias_name FROM yourTable;

ตัวอย่าง: ตารางพนักงาน

CREATE TABLE demo44 (
    employee_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    employee_name VARCHAR(20),
    employee_salary INT
);

INSERT INTO demo44 (employee_name, employee_salary) VALUES
('John', 3000), ('David', 4500), ('Bob', 3500),
('Carol', 5500), ('Mike', 4900);

ข้อมูลในตาราง

+-------------+---------------+-----------------+
| employee_id | employee_name | employee_salary |
+-------------+---------------+-----------------+
| 1           | John          | 3000            |
| 2           | David         | 4500            |
| 3           | Bob           | 3500            |
| 4           | Carol         | 5500            |
| 5           | Mike          | 4900            |
+-------------+---------------+-----------------+

คำสั่งหาเงินเดือนสูงสุด

SELECT MAX(employee_salary) AS Highest_Salary FROM demo44;

ผลลัพธ์

+----------------+
| Highest_Salary |
+----------------+
| 5500           |
+----------------+

ขยายใช้งาน: หาพนักงานที่ได้เงินเดือนสูงสุด

วิธี 1: Subquery

SELECT employee_name, employee_salary
FROM demo44
WHERE employee_salary = (SELECT MAX(employee_salary) FROM demo44);

วิธี 2: ORDER BY + LIMIT (ประสิทธิภาพดีกว่าบนตารางใหญ่)

SELECT employee_name, employee_salary
FROM demo44
ORDER BY employee_salary DESC
LIMIT 1;

วิธี 3: Window Function (MySQL 8.0+)

SELECT employee_name, employee_salary
FROM (
    SELECT employee_name, employee_salary,
           MAX(employee_salary) OVER () AS max_salary
    FROM demo44
) t
WHERE employee_salary = max_salary;

สรุปฟังก์ชันรวม (Aggregate Functions)

ฟังก์ชันคำอธิบาย
MAX()ค่าสูงสุด
MIN()ค่าต่ำสุด
AVG()ค่าเฉลี่ย
SUM()ผลรวม
COUNT()จำนวนแถว

ทั้งหมดทำงานร่วมกับ GROUP BY ได้