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

จัดเรียงค่าคอลัมน์ตาราง MySQL ตามส่วนของค่าหรือไม่


คุณสามารถใช้ ORDER BY RIGHT() สำหรับสิ่งนี้ ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable ( UserId varchar(100) ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.33 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('User1234'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.07 วินาที) mysql> แทรกลงในค่า DemoTable ('User9874'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.06 วินาที) mysql> ลงในค่า DemoTable ('User9994'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.04 วินาที) mysql> แทรกลงในค่า DemoTable ('User1211'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า DemoTable ('User1012 ');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.79 วินาที)

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

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

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

<ก่อนหน้า>+----------+| รหัสผู้ใช้ |+----------+| User1234 || User9874 || User9994 || User1211 || User1012 |+----------+5 แถวในชุด (0.00 วินาที)

กรณีที่ 1 − หากคุณต้องการผลลัพธ์ในลำดับจากน้อยไปมาก

ต่อไปนี้เป็นแบบสอบถามเพื่อจัดเรียงค่าคอลัมน์ของตาราง MySQL ตามส่วนของค่า

mysql> เลือก *จาก DemoTable ORDER BY RIGHT(UserId, 4);

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

<ก่อนหน้า>+----------+| รหัสผู้ใช้ |+----------+| User1012 || User1211 || User1234 || User9874 || User9994 |+----------+5 แถวในชุด (0.00 วินาที)

กรณีที่ 2 − หากคุณต้องการผลลัพธ์ในลำดับจากมากไปน้อย

ต่อไปนี้เป็นแบบสอบถามเพื่อจัดเรียงค่าคอลัมน์ตาราง MySQL ตามส่วนของค่า -

mysql> เลือก *จาก DemoTable ORDER BY RIGHT (UserId, 4) DESC;

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

<ก่อนหน้า>+----------+| รหัสผู้ใช้ |+----------+| User9994 || User9874 || User1234 || User1211 || User1012 |+----------+5 แถวในชุด (0.00 วินาที)