ORDER BY คือคำสั่งของ SQL ที่ใช้สำหรับเรียงลำดับของข้อมูลจากคำสั่ง SELECT โดย ORDER BY clause จะแบ่งการเรียงลำดับข้อมูลเป็น 2 กรณี คือ ASC และ DESC โดย ASC (Ascending) คือเรียงจากน้อยไปหามาก และ DESC (Descending) คือเรียงจากมากไปหาน้อย บทความนี้จะสอนการใช้ ORDER BY ร่วมกับ ASC และ DESC สามารถเขียนคำสั่ง SQL ได้ดังนี้
ตัวอย่าง ORDER BY คืออะไร?
ORDER BY [column1 [ASC, DESC]], [column2 [ASC, DESC]], ...
จากตัวอย่างคือการใช้คำสั่ง ORDER BY เพื่อเรียงลำดับข้อมูลของคอลัมน์ที่ต้องการ โดยสามารถเรียงลำดับได้มากกว่า 1 คอลัมน์พร้อมกัน โดยการใช้เครื่องหมายลูกน้ำ (,) คั่นแต่ละคอลัมน์ และกำหนด ASC สำหรับเรียงจากน้อยไปหามาก และ DESC สำหรับเรียงจากมากไปหาน้อย หลังชื่อคอลัมน์ ดังกล่าว
ตัวอย่าง ORDER BY แบบ ASC เรียงลำดับจากน้อยไปหามาก
SELECT id, name, price
FROM
products
ORDER BY price ASC
จากตัวอย่างแสดงข้อมูลทั้งหมดจากตาราง products โดยเรียงข้อมูลจากคอลัมน์ price (ราคา) จากน้อยไปหามาก ด้วยคำสั่ง ORDER BY price ASC
ตัวอย่าง ORDER BY แบบ DESC เรียงลำดับจากมากไปหาน้อย
SELECT id, name, price
FROM
products
ORDER BY price DESC
จากตัวอย่างแสดงข้อมูลทั้งหมดจากตาราง products โดยเรียงข้อมูลจากคอลัมน์ price (ราคา) จากมากไปหาน้อย ด้วยคำสั่ง ORDER BY price DESC
ตัวอย่าง ORDER BY แบบผสมทั้ง ASC และ DESC
SELECT id, name, price
FROM
products
ORDER BY price DESC, id ASC
จากตัวอย่างแสดงข้อมูลทั้งหมดจากตาราง products โดยเรียงข้อมูลจากคอลัมน์ price (ราคา) จากมากไปหาน้อย ด้วยคำสั่ง ORDER BY price DESC และกรณีถ้า price เท่ากันให้เรียงลำดับจากคอลัมน์ id (รหัสสินค้า) จากน้อยไปหามาก ด้วย ORDER BY price DESC, id ASC