การเรียงลำดับข้อมูลเข้ามามีบทบาทในสถานการณ์ที่คุณจำเป็นต้องจัดระเบียบข้อมูลตามลำดับเฉพาะ ซึ่งมีประโยชน์สำหรับการแสดงภาพข้อมูล การรวบรวมข้อมูลเชิงลึก และอื่นๆ นอกจากนี้ยังทำให้กระบวนการดึงข้อมูล ทำความสะอาด และวิเคราะห์ข้อมูลง่ายขึ้นมาก
ใน SQL เรามีคำสั่งย่อย ORDER BY ซึ่งมีฟังก์ชันในการจัดเรียงข้อมูลจากน้อยไปหามากหรือจากมากไปหาน้อย
ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีจัดเรียงข้อมูลจากน้อยไปหามากโดยใช้คีย์เวิร์ด ORDER BY และ ASC
หมายเหตุ: เพื่อวัตถุประสงค์ในการสาธิต เราจะใช้ฐานข้อมูลตัวอย่าง Sakila และ MySQL เวอร์ชัน 8.0 คุณสามารถอ้างอิงและใช้ชุดข้อมูลใดๆ ที่คุณเห็นว่าเกี่ยวข้องได้ตามสบาย
ลำดับจากน้อยไปมากของ SQL
ลำดับจากน้อยไปมากใน SQL หมายถึงวิธีการจัดเรียงข้อมูลในผลลัพธ์แบบสอบถาม ลำดับจากน้อยไปมากอาจเป็นตัวเลขหรือตัวอักษร ขึ้นอยู่กับคอลัมน์การเรียงลำดับเป้าหมาย
เมื่อเราใช้ลำดับจากน้อยไปมากกับการเรียงลำดับคอลัมน์ SQL จะจัดระเบียบข้อมูลที่มีตั้งแต่ค่าที่น้อยที่สุด (ต่ำสุด) ไปจนถึงค่าที่ใหญ่ที่สุด (สูงสุด)
ในกรณีของสตริง การเรียงลำดับจากน้อยไปมากจะใช้ลำดับตัวอักษรโดยที่ A มีค่าต่ำสุดและ Z มีค่าสูงสุด
SQL เรียงลำดับตาม
ตามที่คุณสามารถเดาได้ วิธีที่เราดำเนินการเรียงลำดับ จากน้อยไปหามาก หรือจากมากไปน้อยใน SQL คือการใช้คำสั่งย่อย ORDER BY
ส่วนคำสั่ง ORDER BY ช่วยให้เราสามารถเรียงลำดับชุดผลลัพธ์ของแบบสอบถามโดยยึดตามคอลัมน์ตั้งแต่หนึ่งคอลัมน์ขึ้นไป เราสามารถแสดงไวยากรณ์ของประโยคได้ดังนี้:
เลือกคอลัมน์ 1, คอลัมน์ 2, ...จากตาราง
คำสั่ง ตามคอลัมน์_to_sort;
หลังจากส่วนคำสั่ง ORDER BY เราจะระบุเกณฑ์การเรียงลำดับ นี่คือคอลัมน์ที่เราต้องการสั่งโดยทั่วไป
คำสำคัญ SQL ASC
คีย์เวิร์ด ASC ในบริบทของคำสั่ง ORDER BY จะบอกกลไกฐานข้อมูลให้เรียงลำดับข้อมูลจากน้อยไปหามาก
โปรดจำไว้ว่านี่คือตัวเลือกดีฟอลต์สำหรับคำสั่งย่อย ORDER BY ดังนั้น แม้ว่าเราจะไม่บอก SQL อย่างชัดเจนให้เรียงลำดับข้อมูลจากน้อยไปหามาก แต่ SQL จะดำเนินการดังกล่าวเป็นการดำเนินการเริ่มต้นโดยอัตโนมัติ
ต่อไปนี้เป็นไวยากรณ์เกี่ยวกับวิธีที่เราใช้คำสำคัญ ASC ในส่วนคำสั่ง ORDER BY:
เลือกคอลัมน์ 1, คอลัมน์ 2จาก table_name
คำสั่ง ตามคอลัมน์ ASC;
สิ่งนี้ควรเรียงลำดับคอลัมน์ที่ระบุตามลำดับจากน้อยไปหามาก
ตัวอย่างที่ 1: การใช้งานพื้นฐาน
ให้เราดูตัวอย่างการใช้งานของคำสั่งย่อย ORDER BY พิจารณาตาราง “ฟิล์ม” จากฐานข้อมูลตัวอย่างสกิลา สมมติว่าเราต้องการเรียงลำดับข้อมูลจากราคาเช่าสูงสุดโดยเรียงลำดับจากน้อยไปหามาก
เลือกชื่อ,
release_ปี ,
ความยาว,
ค่าเช่า_อัตรา
จาก
ฟิล์ม
คำสั่ง โดย
ค่าเช่า_อัตรา ASC;
ในกรณีนี้ เราใช้ 'rental_rate' ในส่วนคำสั่ง ORDER BY เพื่อจัดเรียงภาพยนตร์จากอัตราการเช่าต่ำสุดไปสูงสุดอย่างรวดเร็ว
ผลลัพธ์ที่ได้จะเป็นดังนี้:
ตัวอย่างที่ 2: การเรียงลำดับหลายคอลัมน์
SQL ยังช่วยให้เราสามารถจัดเตรียมคอลัมน์มากกว่าหนึ่งคอลัมน์เป็นพารามิเตอร์การเรียงลำดับได้ สิ่งนี้มีประโยชน์มากเมื่อเราต้องการจัดเรียงข้อมูลตามเกณฑ์มากกว่าหนึ่งเกณฑ์
เพื่อให้บรรลุเป้าหมายนี้ เราสามารถแสดงรายการหลายคอลัมน์ในส่วนคำสั่ง ORDER BY โดยคั่นด้วยเครื่องหมายจุลภาค
ให้เรานำตาราง 'การชำระเงิน' จากตารางสากีลา เราสามารถจัดเรียงตามจำนวนเงินและ 'วันที่ชำระเงิน' ตามลำดับจากน้อยไปมากดังที่แสดงในแบบสอบถามตัวอย่างต่อไปนี้:
เลือกรหัสลูกค้า,
จำนวน,
วันจ่าย
จาก
การชำระเงิน
คำสั่ง โดย
จำนวน ASC,
การชำระเงิน_วันที่ ASC;
แบบสอบถามนี้ควรดึงข้อมูลคอลัมน์ 'customer_id', 'amount' และ 'pay_date' จากตาราง 'Payment' อย่างไรก็ตาม อันดับแรก แบบสอบถามจะเรียงลำดับผลลัพธ์จากน้อยไปมากตามจำนวนเงินที่ชำระ ตามด้วยวันที่ชำระเงิน
ซึ่งจะให้เกณฑ์การเรียงลำดับแบบคู่ดังที่แสดงในตารางผลลัพธ์:
บทสรุป
ในบทช่วยสอนนี้ เราได้เจาะลึกกระบวนการจัดเรียงข้อมูลใน SQL โดยใช้คำสั่งย่อย ORDER BY เรายังได้เรียนรู้ว่าเราสามารถใช้คีย์เวิร์ด ASC เพื่อจัดเรียงข้อมูลจากน้อยไปหามากได้อย่างไร สุดท้าย เราได้สำรวจวิธีที่เราสามารถจัดเรียงข้อมูลโดยใช้หลายคอลัมน์ได้