คุณสามารถใช้ ORDER BY SUBSTRING() เพื่อสั่งซื้อโดยบางส่วนของสตริงใน MySQL ให้เราสร้างตารางก่อน:
mysql> สร้างตาราง DemoTable (UserId varchar(200));เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.68 วินาที)
ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกระเบียนในตารางโดยใช้คำสั่งแทรก:
mysql> แทรกลงในค่า DemoTable ('USER_1234'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable ('USER_John'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรก ลงในค่า DemoTable ('USER_Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.22 วินาที) mysql> แทรกลงในค่า DemoTable ('USER_Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable ('USER_Bob ');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)
ต่อไปนี้เป็นแบบสอบถามเพื่อแสดงระเบียนจากตารางโดยใช้คำสั่ง select:
mysql> เลือก *จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้:
<ก่อนหน้า>+-----------+| รหัสผู้ใช้ | +------------+| USER_1234 || USER_John || USER_Sam || USER_Carol || USER_Bob |+------------+5 แถวในชุด (0.00 วินาที)กรณีที่ 1: เมื่อคุณต้องการ ORDER BY ส่วนหนึ่งของสตริงในลำดับจากน้อยไปมาก
ต่อไปนี้เป็นแบบสอบถาม ที่นี่ เราจะเรียงลำดับบางส่วนของสตริงหลังอักขระตัวที่ 4:
mysql> เลือก *จากคำสั่ง DemoTable ตามสตริงย่อย (UserId,4) asc;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้
<ก่อนหน้า>+-----------+| รหัสผู้ใช้ |+-----------+| USER_1234 || USER_Bob || USER_Carol || USER_John || USER_Sam |+-----------+5 แถวในชุด (0.00 วินาที)กรณีที่ 2: เมื่อคุณต้องการ ORDER BY ส่วนหนึ่งของสตริงในลำดับจากมากไปน้อย ต่อไปนี้เป็นแบบสอบถาม:
mysql> เลือก *จากคำสั่ง DemoTable ตามสตริงย่อย (UserId,4) desc;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ ที่นี่ เราจะเรียงลำดับบางส่วนของสตริงหลังอักขระตัวที่ 4:
<ก่อนหน้า>+-----------+| รหัสผู้ใช้ |+-----------+| USER_Sam || USER_John || USER_Carol || USER_Bob || USER_1234 |+-----------+5 แถวในชุด (0.00 วินาที)