Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะสั่งซื้อโดยบางส่วนของสตริงใน MySQL ได้อย่างไร


คุณสามารถใช้ 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 วินาที)