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

หมายเลขสตริงการเรียงลำดับ MySQL?


ในการจัดเรียงหมายเลขสตริง ให้ใช้ฟังก์ชัน CAST() จาก MySQL ไวยากรณ์มีดังนี้ −

เลือก *FROM yourTableName ORDER BY (yourColumnName as Decimal(integerValue,integerValueAfterDecimalPoint)) desc;

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

mysql> สร้างตาราง SortingStringDemo-> (-> จำนวน varchar(10)-> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.91 วินาที)

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

mysql> แทรกลงในค่า SortingStringDemo ('12.34'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า SortingStringDemo ('124.50'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.56 วินาที) mysql> แทรก ลงในค่า SortingStringDemo ('9.59'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า SortingStringDemo ('150.68'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า SortingStringDemo ('600.54 ');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที)

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

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

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

<ก่อนหน้า>+---------+| จำนวน |+-------+| 12.34 || 124.50 || 9.59 || 150.68 || 600.54 |+--------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อจัดเรียงหมายเลขสตริงจากมากไปหาน้อย

mysql> เลือก *จาก SortingStringDemo เพื่อเรียงลำดับตาม cast(Amount as Decimal(6,2)) desc;

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

<ก่อนหน้า>+---------+| จำนวน |+-------+| 600.54 || 150.68 || 124.50 || 12.34 || 9.59 |+-------+5 แถวในชุด (0.00 วินาที)