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

วิธีหาเงินเดือนอันดับ 2 (Second Highest Salary) จากตาราง MySQL


ใช้ ORDER BY salary DESC LIMIT 1 OFFSET 1 ข้ามอันดับ 1 取อันดับ 2 ตัวอย่างตาราง Salary:

mysql> Select * from Salary;
+--------+--------+
| Name   | Salary |
+--------+--------+
| Gaurav | 50000  |
| Rahul  | 40000  |
| Ram    | 45000  |
| Raman  | 45000  |
+--------+--------+
4 rows in set (0.00 sec)
mysql> Select * from salary12345 order by salary DESC limit 1 offset 1;
+-------+--------+
| name  | Salary |
+-------+--------+
| Raman | 45000  |
+-------+--------+
1 row in set (0.00 sec)

หมายเหตุ: หากมีค่าเงินเดือนซ้ำกันอันดับสูงสุด อาจต้องใช้ DISTINCT ใน subquery ก่อน