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

เรียงเป็นสตริงผสมกับตัวเลขใน MySQL?


ใช้ ORDER BY กับบางกรณี ให้เราสร้างตาราง -

mysql> สร้างตาราง demo18−> (−> value text−> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.18 วินาที)

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

mysql> แทรกลงในค่า demo18 ('John Smith'); Query OK, 1 แถวได้รับผลกระทบ (0.06 วินาที)mysql> แทรกลงในค่า demo18 ('2J John has 58'); Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที )mysql> แทรกลงในค่า demo18 ('2J John has 9'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.09 วินาที)

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

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

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

<ก่อนหน้า>+----------------+| ค่า |+----------------+| จอห์น สมิธ || 2J จอห์นมี 58 || 2J John มี 9 |+----------------+3 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเรียงลำดับ -

mysql> เลือก *จาก demo18−> เรียงลำดับตาม regexp_replace(value, '[0&minus9]*$', ''),−> length(value),−> value;

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

<ก่อนหน้า>+----------------+| ค่า |+----------------+| 2J จอห์นมี 9 || 2J จอห์นมี 58 || John Smith |+----------------+3 แถวในชุด (0.14 วินาที)