คำสั่ง ORDER BY ใช้เพื่อกรองระเบียนในชุดผลลัพธ์ที่ส่งคืนของ SQL Server ประโยคนี้ใช้ได้เฉพาะในคำสั่ง SELECT เท่านั้น
เรียงลำดับตามรูปแบบคำสั่ง
SELECT 'biểu thức'
FROM 'bảng'
[WHERE 'điều kiện']
ORDER BY 'bi
knowledgeable' [ASC | DESC];
ชื่อตัวแปรและค่าตัวแปร
นิพจน์ - ค่าคอลัมน์หรือการคำนวณที่คุณต้องการดึงข้อมูล
ตาราง - ตารางที่คุณต้องการใช้เพื่อดึงข้อมูลบันทึก ต้องมีอย่างน้อย 1 ตารางในส่วนคำสั่ง FROM
'เงื่อนไข' - ไม่จำเป็น. ต้องเป็นไปตามเงื่อนไข เลือกบันทึกใหม่
ASC - ไม่จำเป็น. กรองผลลัพธ์ในลำดับของนิพจน์ (ค่าเริ่มต้นหากไม่ระบุ)
DESC - ไม่จำเป็น. กรองผลลัพธ์ในลำดับของนิพจน์
หมายเหตุ:
หากไม่ได้เลือก ASC หรือ DESC ในส่วนคำสั่ง ORDER BY ผลลัพธ์จะถูกจัดเรียงตามลำดับจากน้อยไปมากตามค่าเริ่มต้น เทียบเท่ากับ ORDER BY 'นิพจน์ ASC'
ตัวอย่างเช่น - การกรองโดยไม่ต้องใช้แอตทริบิวต์ ASC / DESC
SELECT cough
FROM nhanvien
WHERE nhanvien_id > 1000
ORDER BY ho
;
ผลลัพธ์ที่ส่งคืนจะเป็นบันทึกที่กรองโดยฟิลด์นามสกุลของพนักงาน เรียงลำดับจากน้อยไปมาก เทียบเท่ากับส่วนคำสั่งต่อไปนี้
SELECT cough
FROM nhanvien
WHERE nhanvien_id > 1000
ORDER BY ho
ASC;
นักพัฒนาส่วนใหญ่ลบแอตทริบิวต์ ASC หากพวกเขาต้องการเรียงลำดับจากน้อยไปมาก
ตัวอย่างเช่น - เรียงลำดับจากมากไปหาน้อย
SELECT cough
FROM nhanvien
WHERE ten = 'Sarah'
ORDER BY ho DES
C;
ด้วยเหตุนี้ บันทึกตัวกรองตามนามสกุลของพนักงานในลำดับจากมากไปน้อย
ตัวอย่างเช่น - การกรองตามตำแหน่งที่สัมพันธ์กัน
คุณสามารถใช้คำสั่งย่อย ORDER BY ใน SQL Server เพื่อกรองตามตำแหน่งที่สัมพันธ์กันในชุดผลลัพธ์ โดยที่ฟิลด์แรกถูกตั้งค่าเป็น 1 ตามด้วย 2 เป็นต้น
SELECT ho
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY 1 DESC;
ในตัวอย่างนี้ ผลลัพธ์ที่ส่งคืนคือบันทึกของฟิลด์นามสกุลของพนักงานในลำดับจากมากไปน้อย เนื่องจากนามสกุลของพนักงานอยู่ที่ตำแหน่งที่ 1 ในชุดผลลัพธ์ ผลลัพธ์ข้างต้นจึงเหมือนกับในคำสั่ง ORDER BY ด้านล่าง
SELECT cough
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY ho DESC
;
ตัวอย่างเช่น ใช้ทั้งแอตทริบิวต์ ASC และ DESC
SELECT ho, ten
FROM nhanvien
WHERE ho = 'Johnson'
ORDER BY ho D
ESC, ten ASC;
ในตัวอย่างข้างต้น บันทึกการส่งคืนจะเป็นนามสกุลของพนักงานที่เรียงจากมากไปหาน้อยและชื่อพนักงานในลำดับจากน้อยไปมาก