StepCoding

การเรียงข้อมูลตาม Expression ที่กำหนด

อ่าน [1109] หมวดหมู่: คำสั่ง SELECT เบื้องต้น

ใน MySQL นั้นยังสามารถสั่งให้เรียงข้อมูลตาม expression ที่ต้องการได้ ถ้าเรากำหนดให้แสดง expression นั้น ๆ ใน field list โดยเราสามารถอ้างอิง expression นั้น ๆ จาก field list ได้โดยกำหนด alias ได้เช่นกัน ดังนี้

# เป็นการสั่งให้เรียงตามลำดับ เดือนของฟิลด์ d (ซึ่งจะต้องมี expression ใน field list ด้วย)
SELECT id, last_name, first_name, MONTH(d) FROM person ORDER BY MONTH(d);

# เราอาจจะกำหนด alias ให้กับ expression ได้ และนำ alias ไปอ้างอิงในการเรียงลำดับ
SELECT id, last_name, first_name, MONTH(d) as m FROM person ORDER BY m;

ผมสรุปหลักการใช้งานคำสั่ง ORDER BY ไว้ดังนี้ครับ

  • ORDER BY ไม่จำเป็นต้องเรียงตามลำดับ field ที่ทำ index ไว้ ถึงแม้ว่าการ query นั้นจะทำให้ประมวลผลเร็วในกรณีที่เราค้นหาตาม field ที่ทำ index ไว้ก็ตาม
  • ORDER BY จะมีประโยชน์มากเมื่อใช้ร่วมกับคำสั่ง LIMIT (จะกล่าวในบทความต่อไป) เพื่อทำการเลือกข้อมูลในส่วนที่ต้องการจริง ๆ เท่านั้น
  • ORDER BY อาจจะถูกใช้ร่วมกับคำสั่ง DELETE หรือ UPDATE เพื่อสั่งให้ลบหรือแก้ไขแถวในลำดับนั้น ๆ ได้ ซึ่งจะกล่าวถึงเรื่องนี้ในหมวดหมู่ การใช้คำสั่ง Update

ผู้สนับสนุน