20 เมษายน 2554

เรียงลำดับ ตัวเลข ในกรณีที่ไม่ได้เป็นชนิด int

    เมื่อเราทำการ เลือกข้อมูลจากฐานข้อมูลแล้ว ต้องการที่จะให้มันเรียงลำดับ เช่น
ในฐานข้อมูล ตารางคะแนน มีอยู่หนึ่ง ฟิวล์  เป็นชนิด text  มีคะแนน  1 2 3 4 10 11 21 ตามลำดับ

เมื่อเราเขียน SQL ก็จะได้ว่า
   SELECT *  FROM  tbl_test  ORDER BY score DESC 
มันจะเรียงลำดับให้เป็น  1 11 2 21 3 4 ถ้าหากต้องการจะให้มันเรียงลำดับเป็น 1 2 3 4 10 11 21
เปลี่ยน SQL ให้เป็นดังนี้ 
  SELECT * FORM tbl_test ORDER BY ABS(score) DESC

* คำสั่ง  ABS()  ใช้สำหรับหาค่าสัมบูรณ์

ไม่มีความคิดเห็น:

แสดงความคิดเห็น