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

จะสั่งซื้อตามสตริงอักขระ 2 ตัวสุดท้ายใน MySQL ได้อย่างไร


คุณสามารถใช้ ORDER BY RIGHT() เพื่อ ORDER BY สตริงอักขระ 2 ตัวสุดท้ายได้

ไวยากรณ์มีดังนี้

เลือก yourColumnName จาก yourTableName ORDER BY RIGHT(yourColumnName , 2);

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้

mysql> สร้างตาราง OrderByLast2CharactersDemo -> ( -> CustomerId varchar(20), -> CustomerName varchar(20) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.58 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงใน OrderByLast2CharactersDemo(CustomerId,CustomerName) values('John-98','John');Query OK, 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงใน OrderByLast2CharactersDemo(CustomerId,CustomerName) ค่า ('Carol -91','Carol');Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า OrderByLast2CharactersDemo (CustomerId,CustomerName) ('Bob-99','Bob');Query OK, 1 แถวได้รับผลกระทบ (0.22) sec)mysql> แทรกลงใน OrderByLast2CharactersDemo (CustomerId,CustomerName) ค่า ('David-67','David'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก OrderByLast2CharactersDemo;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+------------+--------------+| รหัสลูกค้า | ชื่อลูกค้า |+-----------+------------+| John-98 | จอห์น || Carol-91 | แครอล || Bob-99 | บ๊อบ || David-67 | David |+------------+-------------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเรียงลำดับสตริงอักขระ 2 ตัวสุดท้าย

กรณีที่ 1 :ผลลัพธ์อยู่ในลำดับจากน้อยไปมาก

แบบสอบถามมีดังนี้ −

mysql> เลือก CustomerId จาก OrderByLast2CharactersDemo ORDER BY RIGHT(CustomerId , 2);

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+-----------+| รหัสลูกค้า |+-----------+| David-67 || Carol-91 || John-98 || Bob-99 |+-----------+4 แถวในชุด (0.01 วินาที)

กรณีที่ 2 ผลลัพธ์อยู่ในลำดับจากมากไปน้อย

แบบสอบถามมีดังนี้ −

mysql> เลือก CustomerId จาก OrderByLast2CharactersDemo ORDER BY RIGHT(CustomerId , 2) DESC;

ต่อไปนี้เป็นผลลัพธ์

<ก่อนหน้า>+-----------+| รหัสลูกค้า |+-----------+| Bob-99 || John-98 || Carol-91 || David-67 |+------------+4 แถวในชุด (0.00 วินาที)