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

หาเงินเดือนสูงสุดและอันดับ 2 ด้วย LIMIT OFFSET ใน MySQL

ใช้ ORDER BY salary DESC LIMIT 2 OFFSET 0 ดึง 2 อันดับบนสุด รูปแบบ:

SELECT col1, col2 FROM yourTableName ORDER BY salaryCol DESC LIMIT 2 OFFSET 0;

ตัวอย่าง (ข้อมูลเดียวกันกับบทความก่อน)

mysql> SELECT EmployeeId, Employeename, EmployeeSalary
    -> FROM EmployeeMaxAndSecondMaxSalary
    -> ORDER BY EmployeeSalary DESC LIMIT 2 OFFSET 0;

ผลลัพธ์:

+------------+--------------+----------------+
| EmployeeId | Employeename | EmployeeSalary |
+------------+--------------+----------------+
| 6          | David        | 89990          |
| 8          | Robert       | 76543          |
+------------+--------------+----------------+

เปรียบเทียบ: วิธีนี้ง่ายกว่า Subquery มาก แต่คืนค่าเป็นแถวข้อมูล (Row) ไม่ใช่ค่าเดี่ยว (Scalar) เลือกใช้ตามความต้องการ