EXTRACT(MONTH FROM ...) और GROUP BY के साथ मासिक योग
इसके लिए EXTRACT() का उपयोग करें, जो विशिष्ट महीने के रिकॉर्ड निकालने की अनुमति देता है। उदाहरण के लिए, जनवरी में सभी कीमतों को जोड़ना (वर्ष की परवाह किए बिना)।
पहले टेबल बनाएं:
mysql> create table DemoTable1415 ( ProductPurchaseDate date, ProductPrice int ); Query OK, 0 rows affected (0.53 sec)
रिकॉर्ड डालें:
mysql> insert into DemoTable1415 values('2019-01-12',560); Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1415 values('2018-01-14',1060); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1415 values('2017-03-21',780); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1415 values('2016-09-01',800); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1415 values('2019-01-14',100); Query OK, 1 row affected (0.16 sec)
सभी रिकॉर्ड देखें:
mysql> select * from DemoTable1415;
आउटपुट:
+---------------------+--------------+ | ProductPurchaseDate | ProductPrice | +---------------------+--------------+ | 2019-01-12 | 560 | | 2018-01-14 | 1060 | | 2017-03-21 | 780 | | 2016-09-01 | 800 | | 2019-01-14 | 100 | +---------------------+--------------+ 5 rows in set (0.00 sec)
टेबल में महीने के अनुसार मानों का योग करने की क्वेरी:
mysql> select extract(MONTH from ProductPurchaseDate) as month, sum(ProductPrice) as total_value from DemoTable1415 group by month;
परिणाम:
+-------+-------------+ | month | total_value | +-------+-------------+ | 1 | 1720 | | 3 | 780 | | 9 | 800 | +-------+-------------+ 3 rows in set (0.00 sec)
व्याख्या: EXTRACT(MONTH FROM ProductPurchaseDate) तिथि से महीना (1-12) निकालता है। GROUP BY month सभी वर्षों के समान महीने को एक साथ ग्रुप करता है (जनवरी: 2019, 2018)। SUM(ProductPrice) प्रत्येक महीने का कुल योग देता है। वर्ष-वार ब्रेकडाउन के लिए GROUP BY EXTRACT(YEAR FROM ...), EXTRACT(MONTH FROM ...) का उपयोग करें।