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

หาค่าอันดับ 4 สูงสุด (Fourth Highest) ใน MySQL ด้วย LIMIT OFFSET

การหาค่าอันดับ N สูงสุดด้วย ORDER BY DESC LIMIT OFFSET

เพื่อหาค่าที่มีค่าสูงสุดอันดับ 4 (Fourth Highest) เราเรียงลำดับจากมากไปน้อย (DESC) แล้วข้าม 3 แถวแรก (OFFSET 3) และ取 1 แถว (LIMIT 1)

สร้างตารางและเพิ่มข้อมูล

mysql> CREATE TABLE DemoTable (Amount INT);
Query OK, 0 rows affected (0.88 sec)

mysql> INSERT INTO DemoTable VALUES(980);
mysql> INSERT INTO DemoTable VALUES(670);
mysql> INSERT INTO DemoTable VALUES(890);
mysql> INSERT INTO DemoTable VALUES(995);
mysql> INSERT INTO DemoTable VALUES(198);

แสดงข้อมูลทั้งหมด

mysql> SELECT * FROM DemoTable;

ผลลัพธ์:

+--------+
| Amount |
+--------+
| 980    |
| 670    |
| 890    |
| 995    |
| 198    |
+--------+
5 rows in set (0.00 sec)

คำสั่งหาค่าอันดับ 4 สูงสุด

mysql> SELECT * FROM DemoTable ORDER BY Amount DESC LIMIT 1 OFFSET 3;

ผลลัพธ์:

+--------+
| Amount |
+--------+
| 670    |
+--------+
1 row in set (0.00 sec)

คำอธิบาย

  • ORDER BY Amount DESC : เรียง 995, 980, 890, 670, 198
  • OFFSET 3 : ข้าม 3 แถวแรก (995, 980, 890)
  • LIMIT 1 : 取แถวถัดไป 1 แถว → 670 (อันดับ 4)
  • รูปแบบเทียบเท่า: LIMIT 3, 1 (offset, row_count)
  • หากต้องการอันดับ N: LIMIT 1 OFFSET N-1