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

MySQL ORDER BY มีการเรียงลำดับที่แตกต่างกันสำหรับค่าบางค่าจากมากไปหาน้อยและอื่น ๆ จากน้อยไปมาก?


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

mysql> สร้างตาราง DemoTable ( Value int ); เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.80 วินาที)

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

mysql> แทรกลงในค่า DemoTable(10) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า DemoTable (70) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable ( 60); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable (56); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable (81); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.44 วินาที) mysql> แทรกลงในค่า DemoTable (85); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)

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

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

ผลลัพธ์

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 10 || 70 || 60 || 56 || 81 || 85 |+-------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อ ORDER BY เฉพาะ 3 ค่าเป็นจากมากไปน้อยและส่วนที่เหลือของลำดับจากน้อยไปมาก -

mysql> เลือก *จาก DemoTable เรียงลำดับตามฟิลด์ (Value,60,70,81) desc;

ผลลัพธ์

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 81 || 70 || 60 || 10 || 56 || 85 |+-------+6 แถวในชุด (0.00 วินาที)