บทความนี้สอนใช้คำสั่ง SELECT เพื่อใส่ลำดับตัวเลขให้แถวข้อมูล โดยใช้คำสั่ง ROW_NUMBER ร่วมกับ OVER ในการเขียน SQL โดยปกติลำดับจะเริ่มจากเลข 1 และรันต่อไปเรื่อยๆ ตามจำนวนแถวที่สามารถ SELECT ได้ สามารถเขียนคำสั่งได้ดังนี้
ตัวอย่าง SELECT ใส่ลำดับตัวเลขให้แถวข้อมูล เรียงแบบ ASC
SELECT ROW_NUMBER() OVER(ORDER BY id) AS no, name
FROM product
ผลลัพธ์
no | name |
---|---|
1 | Computer |
2 | Pencil |
3 | Mobile Phone |
จากตัวอย่างเขียน SQL แสดงข้อมูลจากตาราง product โดยแสดงลำดับแถวด้วยคำสั่ง ROW_NUMBER ร่วมกับ OVER เรียงข้อมูล column id จากน้อยไปมาก หรือ ASC พร้อมกับ column name
ตัวอย่าง SELECT ใส่ลำดับตัวเลขให้แถวข้อมูล เรียงแบบ DESC
SELECT ROW_NUMBER() OVER(ORDER BY id DESC) AS no, name
FROM product
ผลลัพธ์
no | name |
---|---|
1 | Mobile Phone |
2 | Pencil |
3 | Compute |
จากตัวอย่างการใช้คำสั่ง ROW_NUMBER ร่วมกับ OVER มีการกำหนด ORDER BY id DESC เพื่อใส่ลำดับตัวเลข และเรียงข้อมูล column id จากมากไปหาน้อย หรือ DESC พร้อมกับ column name
สรุป การเขียน SQL ใส่ลำดับตัวเลขให้แต่ละแถวข้อมูลที่แสดงด้วย SELECT แนะนำให้ใช้คำสั่ง ROW_NUMBER ร่วมกับ OVER ซึ่งรองรับการเรียงลำดับข้อมูลจากน้อยไปมาก (ASC) และมากไปน้อย (DESC) ซึ่งเป็นวิธีที่ง่าย สะดวก และมีประสิทธิภาพในปัจจุบัน