เป็นทางเลือกที่ดีในการใช้คำสั่ง CASE ห้ามใช้ยูเนี่ยน ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable (รหัส int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, ShippingDate datetime ); สืบค้นตกลง 0 แถวได้รับผลกระทบ (0.63 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable(ShippingDate) ('2019-04-21'); เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า DemoTable (ShippingDate) ('2019-01-01');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า DemoTable (ShippingDate) ('2019-05-11'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable (ShippingDate) ( '2018-12-31'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า DemoTable (ShippingDate) ('2019-02-18'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที)ก่อน>แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable;สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+----+---------------------+| รหัส | วันที่จัดส่ง |+----+---------------------+| 1 | 2019-04-21 00:00:00 || 2 | 2019-01-01 00:00:00 || 3 | 2019-05-11 00:00:00 || 4 | 2018-12-31 00:00:00 || 5 | 2019-02-18 00:00:00 |+-----------+---------------------+5 แถวในชุด (0.00 วินาที)
ต่อไปนี้เป็นแบบสอบถามเพื่อรักษาลำดับที่เลือกโดยใช้การเรียงลำดับตามกรณี
mysql> เลือก *จาก DemoTable ORDER BY CASE เมื่อ ShippingDateสิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+----+---------------------+| รหัส | วันที่จัดส่ง |+----+---------------------+| 3 | 2019-05-11 00:00:00 || 1 | 2019-04-21 00:00:00 || 5 | 2019-02-18 00:00:00 || 2 | 2019-01-01 00:00:00 || 4 | 2018-12-31 00:00:00 |+----+--------------------+5 แถวในชุด (0.00 วินาที)