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

เลือก 3 แถวที่จัดเรียงแล้วจากตาราง MySQL

ใช้ ORDER BY ร่วมกับ LIMIT เพื่อดึงข้อมูลจำนวนจำกัดตามลำดับที่ต้องการ

mysql> CREATE TABLE DemoTable1551 (
    -> EmployeeId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> EmployeeName VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.52 sec)
mysql> INSERT INTO DemoTable1551(EmployeeName) VALUES('Chris');
Query OK, 1 row affected (0.25 sec)
mysql> INSERT INTO DemoTable1551(EmployeeName) VALUES('Robert');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable1551(EmployeeName) VALUES('Mike');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable1551(EmployeeName) VALUES('Sam');
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable1551(EmployeeName) VALUES('David');
Query OK, 1 row affected (0.09 sec)
mysql> INSERT INTO DemoTable1551(EmployeeName) VALUES('Adam');
Query OK, 1 row affected (0.11 sec)
mysql> SELECT * FROM DemoTable1551;
+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
|          1 | Chris        |
|          2 | Robert       |
|          3 | Mike         |
|          4 | Sam          |
|          5 | David        |
|          6 | Adam         |
+------------+--------------+
6 rows in set (0.00 sec)

ดึง 3 แถวสุดท้าย (ID มากที่สุด) โดยจัดเรียง DESC:

mysql> SELECT * FROM DemoTable1551
    -> ORDER BY EmployeeId DESC LIMIT 0, 3;
+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
|          6 | Adam         |
|          5 | David        |
|          4 | Sam          |
+------------+--------------+
3 rows in set (0.00 sec)

รูปแบบ LIMIT: LIMIT offset, count หรือ LIMIT count OFFSET offset