MySQL में DATE_FORMAT() और GROUP BY का उपयोग करके महीना और वर्ष के अनुसार डेटा ग्रुप करें।
सिंटैक्स
SELECT DATE_FORMAT(yourColumnName, '%m-%Y') FROM yourTableName GROUP BY MONTH(yourColumnName), YEAR(yourColumnName) DESC;
उदाहरण
टेबल बनाना
mysql> create table GroupMonthAndYearDemo ( -> DueDate datetime -> ); Query OK, 0 rows affected (1.49 sec)
विभिन्न वर्षों की तारीखें डालना
mysql> insert into GroupMonthAndYearDemo values(now()); mysql> insert into GroupMonthAndYearDemo values(date_add(now(),interval 2 year)); mysql> insert into GroupMonthAndYearDemo values(date_add(now(),interval -2 year)); mysql> insert into GroupMonthAndYearDemo values(date_add(now(),interval 1 year)); mysql> insert into GroupMonthAndYearDemo values(date_add(now(),interval -1 year));
सभी रिकॉर्ड देखना
mysql> select *from 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 | +---------------------+
महीना-वर्ष के अनुसार ग्रुप करना
mysql> select DATE_FORMAT(DueDate, '%m-%Y') from GroupMonthAndYearDemo -> GROUP BY MONTH(DueDate), YEAR(DueDate) DESC;
+-------------------------------+ | DATE_FORMAT(DueDate, '%m-%Y') | +-------------------------------+ | 12-2020 | | 12-2019 | | 12-2018 | | 12-2017 | | 12-2016 | +-------------------------------+
DATE_FORMAT फॉर्मेट कोड
| कोड | अर्थ | उदाहरण |
|---|---|---|
| %m | महीना (01-12) | 12 |
| %Y | 4-अंकीय वर्ष | 2024 |
| %b | संक्षिप्त महीना नाम | Dec |
| %M | पूरा महीना नाम | December |
| %y | 2-अंकीय वर्ष | 24 |
अन्य उपयोगी पैटर्न
-- प्रत्येक महीने की गिनती के साथ SELECT DATE_FORMAT(DueDate, '%m-%Y') as MonthYear, COUNT(*) as cnt FROM GroupMonthAndYearDemo GROUP BY YEAR(DueDate), MONTH(DueDate) ORDER BY YEAR(DueDate) DESC, MONTH(DueDate) DESC; -- वर्ष-महीना फॉर्मेट में (सॉर्टिंग के लिए बेहतर) SELECT DATE_FORMAT(DueDate, '%Y-%m') as YearMonth, COUNT(*) FROM table_name GROUP BY YearMonth ORDER BY YearMonth DESC;
नोट
MySQL 5.7+ में ONLY_FULL_GROUP_BY मोड के कारण, SELECT में उपयोग किए गए सभी गैर-कुल कॉलम GROUP BY में होने चाहिए या फंक्शनल रूप से निर्भर होने चाहिए।