คุณสามารถจัดกลุ่มเดือนและปีโดยใช้ฟังก์ชัน DATE_FORMAT() ใน MySQL ใช้ประโยค GROUP BY ด้วย
ไวยากรณ์มีดังนี้ −
เลือก DATE_FORMAT(ชื่อคอลัมน์ของคุณ, '%m-%Y') จาก yourTableNameGROUP BY MONTH(yourColumnName), YEAR(yourColumnName)DESC;
เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตาราง ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตาราง −
mysql> สร้างตาราง GroupMonthAndYearDemo −> ( −> DueDate datetime −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.49 วินาที)
แทรกระเบียนในตารางโดยใช้แบบสอบถามต่อไปนี้ -
mysql> แทรกลงในค่า GroupMonthAndYearDemo (ตอนนี้ ()); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า GroupMonthAndYearDemo (date_add (ตอนนี้ () ช่วงเวลา 2 ปี)); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที) mysql> แทรกลงในค่า GroupMonthAndYearDemo (date_add (ตอนนี้ (), ช่วงเวลา -2 ปี)); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า GroupMonthAndYearDemo (date_add (ตอนนี้ () ช่วงเวลา 1 ปี ));แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.16 วินาที)mysql> แทรกลงในค่า GroupMonthAndYearDemo (date_add(now() ช่วงเวลา -1 ปี)); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.14 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก GroupMonthAndYearDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+---------------------+| DueDate |+--------------------+| 2018-12-06 13:12:34 || 2020-12-06 13:12:59 || 2016-12-06 13:13:08 || 2019-12-06 13:13:14 || 2017-12-06 13:13:19 |+---------------------+5 แถวในชุด (0.00 วินาที)แบบสอบถามเพื่อจัดกลุ่มตามเดือนและปีมีดังนี้ −
mysql> เลือก DATE_FORMAT(DueDate, '%m-%Y') จาก GroupMonthAndYearDemo −> GROUP BY MONTH(DueDate) , YEAR(DueDate)DESC;
ต่อไปนี้เป็นผลลัพธ์ที่แสดงเดือนและปีที่จัดกลุ่มโดยใช้ GROUP BY -
<ก่อนหน้า>+-------------------------------------+| DATE_FORMAT(วันที่ครบกำหนด '%m-%Y') |+-------------------------------------+| 12-2020 || 12-2019 || 12-2018 || 12-2017 || 12-2016 |+-------------------------------+5 แถวในชุด 2 คำเตือน (0.00 วินาที)ก่อน>