ORDER BY เป็นคำสั่งที่ใช้สำหรับ จัดเรียงลำดับของข้อมูล ที่ได้จากการ query ในฐานข้อมูล สามารถเรียงลำดับจากน้อยไปมาก (ASC) หรือจากมากไปน้อย (DESC)
- การเรียงข้อมูลจากน้อยไปหามากเป็นค่าเริ่มต้น หรือสามารถทำได้โดยการระบุคีย์เวิร์ด
ASC - การเรียงข้อมูลจากมากไปหาน้อยสามารถทำได้โดยการระบุคีย์เวิร์ด
DESC
รูปแบบการใช้งานคีย์เวิร์ด ORDER BY
SELECT column1, column2, ...
FROM table_name
ORDER BY column_name [ASC | DESC];
ORDER BYคือคำสั่งให้เรียงลำดับcolumn1, column2หลังคีย์เวิร์ด ORDER BY คือคอลัมน์ที่ต้องการให้เรียงลำดับASC|DESCคือคีย์เวิร์ดที่ระบุว่าให้เรียงลำดับจากน้อยไปหามากหรือมากไปหาน้อยASCคือ เรียงลำดับจากน้อยไปหามาก (ascending) เป็นค่าเริ่มต้น ไม่ต้องระบุก็ได้DESCคือ เรียงลำดับจากมากไปหาน้อย (descending)
ตัวอย่างการใช้งาน ORDER BY
เรียงลำดับลูกค้าตามรหัสลูกค้า (customer_id)
SQL
SELECT customer_id, first_name, last_name
FROM customer
ORDER BY customer_id ASC;ORDER BY customer_id ASCจัดเรียงข้อมูลตามลำดับของcustomer_idASC= จากน้อยไปมาก (Ascending order)
เรียงชื่อภาพยนตร์ตามตัวอักษร Z → A
SQL
SELECT title, release_year
FROM film
ORDER BY title DESC;ORDER BY title DESCจัดเรียงข้อมูลตามคอลัมน์title(ชื่อภาพยนตร์)DESC= เรียงจากมากไปน้อย หรือจาก Z → A
เรียงลำดับยอดการชำระเงินจากมากไปน้อย
SQL
SELECT payment_id, customer_id, amount
FROM payment
ORDER BY amount DESC;ORDER BY amount DESCจัดเรียงข้อมูลตามคอลัมน์amountDESC= เรียงจากมากไปน้อย (ยอดเงินสูงสุดมาก่อน)
เรียงลำดับหลายคอลัมน์พร้อมกัน
SQL
SELECT title, rating, length
FROM film
ORDER BY rating ASC, length DESC;ORDER BY rating ASC, length DESCจัดเรียงข้อมูลตามเงื่อนไขสองระดับ- อันดับแรก: เรียงตาม
ratingจากน้อยไปมาก (ASC) - ถ้า rating ซ้ำกัน: ให้เรียง
lengthจากมากไปน้อย (DESC) ภายในกลุ่มนั้น
- อันดับแรก: เรียงตาม
