MySQL เรียงข้อมูลด้วยคีย์เวิร์ด ORDER BY

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_id
    • ASC = จากน้อยไปมาก (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 จัดเรียงข้อมูลตามคอลัมน์ amount
    • DESC = เรียงจากมากไปน้อย (ยอดเงินสูงสุดมาก่อน)

เรียงลำดับหลายคอลัมน์พร้อมกัน

SQL
SELECT title, rating, length
FROM film
ORDER BY rating ASC, length DESC;
  • ORDER BY rating ASC, length DESC จัดเรียงข้อมูลตามเงื่อนไขสองระดับ
    • อันดับแรก: เรียงตาม rating จากน้อยไปมาก (ASC)
    • ถ้า rating ซ้ำกัน: ให้เรียง length จากมากไปน้อย (DESC) ภายในกลุ่มนั้น
แชร์เรื่องนี้