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

รักษาคำสั่งซื้อที่เลือกไว้ภายใน MySQL UNION หรือไม่


เป็นทางเลือกที่ดีในการใช้คำสั่ง 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 วินาที)