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

ORDER BY บันทึกใน MySQL ตามเงื่อนไข


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

mysql> สร้างตาราง DemoTable( Name varchar(50), Score int);Query OK, 0 แถวได้รับผลกระทบ (0.72 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('Chris',98) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable ('David',45); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที) )mysql> แทรกลงในค่า DemoTable ('Bob',56); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable ('Sam', 89); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable ('Carol',78); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)

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

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

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

<ก่อนหน้า>+-------+-------+| ชื่อ | คะแนน |+-------+-------+| คริส | 98 || เดวิด | 45 || บ๊อบ | 56 || แซม | 89 || แครอล | 78 |+-------+-------+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อสั่งซื้อบันทึกใน MySQL ตามเงื่อนไข -

mysql> เลือก *จากลำดับ DemoTable โดย if(Name='Sam',1,0) ASC,Score DESC;

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

<ก่อนหน้า>+-------+-------+| ชื่อ | คะแนน |+-------+-------+| คริส | 98 || แครอล | 78 || บ๊อบ | 56 || เดวิด | 45 || แซม | 89 |+-------+-------+5 แถวในชุด (0.00 วินาที)