สำหรับสิ่งนี้ คุณสามารถใช้คำสั่ง ORDER BY CASE ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable (วันที่ครบกำหนด) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.56 วินาที)
หมายเหตุ − สมมติว่าวันที่ปัจจุบันคือ 2019-07-22
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable ('2019-03-10'); Query OK, 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า DemoTable ('2019-08-25'); Query OK, 1 แถว ได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable ('2019-06-01'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable ('2019-12-31'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-----------+| DueDate |+-----------+| 2019-03-10 || 2019-08-25 || 2019-06-01 || 2019-12-31 |+------------+4 แถวในชุด (0.00 วินาที)ต่อไปนี้เป็นแบบสอบถามที่จะสั่งซื้อตามวันและเดือน -
mysql> เลือก *จาก DemoTable ตามลำดับกรณีเมื่อ DueDate> curdate() จากนั้น 0 อื่น ๆ 1 สิ้นสุด DueDate;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+-----------+| DueDate |+-----------+| 2019-08-25 || 2019-12-31 || 2019-03-10 || 2019-06-01 |+-----------+4 แถวในชุด (0.00 วินาที)