Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL

SQL ORDER BY: คู่มือการจัดเรียงข้อมูล

คำสั่ง SQL ORDER BY กำหนดลำดับของเรคอร์ดที่คิวรี่คืนค่า สามารถจัดเรียงแบบ ascending (น้อยไปมาก) หรือ descending (มากไปน้อย) ตามค่าของคอลัมน์ใดๆ ในตาราง

การจัดเรียงผลลัพธ์คิวรี่ช่วยให้หาเรคอร์ดที่ต้องการได้ง่ายขึ้น

เช่น ต้องการทราบว่าพนักงานคนไหนได้รางวัล "พนักงานเดือน" มากที่สุด อาจต้องการจัดเรียงคิวรี่โดยจุดข้อมูลนั้น เพื่อแสดงคนที่ได้รางวัลมากที่สุดก่อน

คำสั่ง SQL ORDER BY จัดเรียงผลลัพธ์คิวรี่ตามเงื่อนไขของคุณ ในบทช่วยสอนนี้ เราจะอธิบายวิธีใช้ ORDER BY พร้อมตัวอย่าง

SQL ORDER BY

คีย์เวิร์ด SQL ORDER BY จัดเรียงผลลัพธ์คิวรี่ สามารถจัดเรียง ascending หรือ descending ตามคอลัมน์เฉพาะหรือหลายคอลัมน์

ไวยากรณ์คิวรี่ ORDER BY:

SELECT name FROM employees ORDER BY name, joined ASC;

หลังคำสั่ง SQL SELECT ระบุชื่อคอลัมน์ที่ต้องการ ระบุว่าดึงจากตาราง employees

คำสั่ง ORDER BY จัดเรียงคิวรี่โดยคอลัมน์ name และ joined แบบ descending ฐานข้อมูลจะจัดเรียงตามชื่อ descending ก่อน

SQL จัดเรียงคอลัมน์ ascending โดยค่าเริ่มต้น สามารถระบุ ascending หรือ descending ได้ด้วย clause ORDER BY

2 รูปแบบการจัดเรียง:

  • ASC: Ascending (น้อยไปมาก / ก-ฮ)
  • DESC: Descending (มากไปน้อย / ฮ-ก)

สามารถใช้รายการคอลัมน์จัดเรียงหลายคอลัมน์ด้วยลำดับต่างกัน:

SELECT name FROM employees ORDER BY name ASC, joined DESC;

คิวรี่นี้จัดเรียงตารางตาม name ascending แล้วค่อย joined descending

ตัวอย่าง ORDER BY SQL

ลองรันคิวรี่ตัวอย่างสาธิต ORDER BY ต้องการรายชื่อพนักงานทั้งหมดและตำแหน่ง จัดเรียงตามชื่อพนักงานตามลำดับอักษรไทย (A-Z)

คิวรี่:

SELECT name, title FROM employees ORDER BY name ASC;

ผลลัพธ์เรียงลำดับ ascending:

nametitle
AlexisSales Associate
GeoffSenior Sales Associate
HannahSales Associate
JonahVice President of Sales
LukeSales Associate
MikeSales Associate

หากต้องการเรียงย้อนกลับ (Z-A) ให้เปลี่ยน ASC เป็น DESC

ยังสามารถจัดเรียงหลายคอลัมน์ได้ มีประโยชน์หากมีค่าซ้ำในตารางที่ต้องการจัดเรียงเพิ่มเติม

เช่น ต้องการทราบว่าใครทำงานนานที่สุด จัดกลุ่มตามตำแหน่ง ใช้คิวรี่:

SELECT name, title, hired_date FROM employees ORDER BY title, hired_date DESC;

คำสั่ง ORDER BY จัดเรียงผลลัพธ์ ผลลัพธ์:

nametitlehired_date
EmmaMarketing Director2010-03-19
AlexisSales Associate2014-04-01
HannahSales Associate2011-09-30
MikeSales Associate2010-03-19
LukeSales Associate2009-12-03
GeoffSenior Sales Associate2012-03-17
JonahVice President of Sales2010-07-23

(7 แถว)

ตารางจัดเรียงตามตำแหน่งและวันที่เข้าทำงาน พนักงานขายที่เข้าล่าสุดคือ Alexis ทำงานนานที่สุดคือ Luke สามารถเห็นวันที่เข้าทำงานของทุกคน จัดกลุ่มตามตำแหน่ง

สรุป

คำสั่ง SQL ORDER BY เปลี่ยนลำดับเรคอร์ดที่คิวรี่คืนค่า สามารถจัดเรียง ascending หรือ descending ค่าเริ่มต้นคือ ascending

อยากเรียนรู้ SQL เพิ่มเติม? อ่านคู่มือ How to Learn SQL ของเรา จะพบทีปส์ชั้นนำและแหล่งเรียนรู้ที่เราเตรียมไว้