sql command

Database SQL – ORDER BY Clause

หลังจากใช้งาน SQL Select query statement กันไปแล้ว บางครั้งข้อมูลที่แสดงออกมามีจำนวนมาก และการใช้ TOP LIMIT ROWNUM Clause ก็อาจจะไม่ตอบโจทย์ความต้องการ ถ้าเราต้องการไล่ดูข้อมูลทั้งหมด แต่ต้องการดูเป็นลำดับ หรือ sort ข้อมูลด้วย column ที่ต้องการ เราสามารถใช้คำสั่ง SQL ORDER BY Clause ต้อหลัง SQL Select เพื่อให้ข้อมูลที่แสดงมีการจัดลำดับเรียงจากน้อยไปมาก หรือ มากไปน้อย ตามที่เราต้องการได้ ซึ่งคำสั่ง ORDER BY จะทำการเรียงข้อมูลจากน้อยไปมาก เป็นค่าเริ่มต้น (Default)

 

รูปแบบ (Syntax)

SQL ORDER BY Clause ที่ใช้งานภายใต้ SQL Select query statement

SELECT column-list 
FROM table_name 
[WHERE condition] 
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

เราสามารถใช้ 1 column หรือ หลาย column ในการจัดเรียงข้อมูลก็ได้ และสามารถจัดเรียงจากน้อยไปมาก หรือ มากไปน้อยด้วย option

  • ASC (Default) เรียงจาก น้อยไปมาก
  • DESC เรียงจาก มากไปน้อย

 

ตัวอย่างการใช้ ORDER BY Clause

ตัวอย่างข้อมูลใน table CUSTOMERS

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

 

การดึงข้อมูลจาก table CUSTOMERS ทุก column โดยจัดเรียงข้อมูลด้วย column ที่ชื่อ NAME และ SALARY จากน้อยไปมาก

SQL> SELECT * FROM CUSTOMERS
   ORDER BY NAME, SALARY;

ผลลัพธ์ที่ได้

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
+----+----------+-----+-----------+----------+

 

การดึงข้อมูลจาก table CUSTOMERS ทุก column โดยจัดเรียงข้อมูลด้วย column ที่ชื่อ NAME จากมากไปน้อย

SQL> SELECT * FROM CUSTOMERS
   ORDER BY NAME DESC;

ผลลัพธ์ที่ได้

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
+----+----------+-----+-----------+----------+

 

 

Reference:

รวมคำสั่ง SQL Command พื้นฐานเบื้องต้น

Database, Oracle, MySQL

 

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com, https://www.tutorialspoint.com

Leave a Reply