เราสามารถกำหนดให้คำสั่ง SELECT นั้นคืนค่าข้อมูลกลับมาแบบเรียงลำดับข้อมูลตาม field ที่ต้องการได้โดยการใช้คำสั่ง ORDER BY ตามด้วยชื่อ field ที่ต้องการให้เรียงลำดับ โดยในการเรียงลำดับนั้น MySQL จะทำการเรียงลำดับตามชนิดข้อมูลของมัน เช่น ชนิดข้อมูลที่เป็น number ข้อความ (text) และ date and time จะมีวิธีการเรียงแตกต่างกันไป
ถ้าในตาราง person ประกอบไปด้วย field id เป็นชนิด number, last_name และ first_name เป็นชนิด text และ d เป็นชนิด date โดยมีข้อมูลต่าง ๆ ดังนี้
SELECT id, last_name, first_name, d FROM person;
| id | last_name | first_name | d |
|---|---|---|---|
| 1 | Brown | Bill | 1972-10-14 |
| 2 | Larsson | Sven | 1965-01-03 |
| 3 | Brown | Betty | 1971-07-12 |
| 4 | Larsson | Selma | 1968-05-29 |
เมื่อเราต้องการ query ข้อมูลจากตาราง person โดยเรียงตามลำดับ field d จะต้องใช้คำสั่งดังนี้
SELECT id, last_name, first_name, d FROM person ORDER BY d;
| id | last_name | first_name | d |
|---|---|---|---|
| 2 | Larsson | Sven | 1965-01-03 |
| 4 | Larsson | Selma | 1968-05-29 |
| 3 | Brown | Betty | 1971-07-12 |
| 1 | Brown | Bill | 1972-10-14 |
เราสามารถสั่งให้มันเรียงได้หลาย ๆ field โดยคั่นแต่ละชื่อ field ด้วย comma เช่น ถ้าผมต้องการให้มันเรียงตาม field last_name และ first_name จะต้องใช้คำสั่งดังนี้
SELECT id, last_name, first_name, d FROM person ORDER BY last_name, first_name;
| id | last_name | first_name | d |
|---|---|---|---|
| 3 | Brown | Betty | 1971-07-12 |
| 1 | Brown | Bill | 1972-10-14 |
| 4 | Larsson | Selma | 1968-05-29 |
| 2 | Larsson | Sven | 1965-01-03 |
ผู้สนับสนุน