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

ลำดับตัวอักษรและตัวเลขโดยใน MySQL สำหรับสตริงที่ผสมกับตัวเลข


สมมติว่าคุณมีคอลัมน์ VARCHAR ในตารางที่มีค่าเป็นสตริงและตัวเลขอยู่ทางด้านขวา ตัวอย่างเช่น −

John1023Carol9871David9098

ตอนนี้ ให้พิจารณาว่าคุณต้องการเรียงลำดับโดยใช้ตัวเลขด้านขวาเหล่านี้ในคอลัมน์ทั้งหมด สำหรับสิ่งนี้ ให้ใช้ ORDER BY RIGHT

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable757 ( Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, ClientId varchar(100)); เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.53 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable757(ClientId) ('John1023'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.41 วินาที)mysql> แทรกลงในค่า DemoTable757(ClientId) ('Carol9871'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.17 วินาที) mysql> แทรกลงในค่า DemoTable757 (ClientId) ('David9098'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable757 (ClientId) ('Adam9989'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.18 วินาที) mysql> แทรกลงในค่า DemoTable757(ClientId) ('Bob9789'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-----------+| รหัส | รหัสลูกค้า |+----+-----------+| 1 | John1023 || 2 | Carol9871 || 3 | David9098 || 4 | Adam9989 || 5 | Bob9789 |+----+-----------+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามสำหรับลำดับตัวอักษรและตัวเลขโดยใน MySQL -

mysql> เลือก Id,ClientId จาก DemoTable757 เรียงลำดับทางขวา (ClientId,4);

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-----------+| รหัส | รหัสลูกค้า |+----+-----------+| 1 | John1023 || 3 | David9098 || 5 | Bob9789 || 2 | Carol9871 || 4 | Adam9989 |+----+-----------+5 แถวในชุด (0.00 วินาที)