Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में महीने के आधार पर रिकॉर्ड चुनें और फ़िल्टर करें


MySQL में MONTHNAME() और GROUP BY का उपयोग करके महीनेवार डेटा एग्रीगेट करना

आप MONTHNAME() या MONTH() फ़ंक्शन के साथ GROUP BY और SUM() का उपयोग करके महीने के आधार पर डेटा समूहित कर सकते हैं।

उदाहरण

टेबल बनाएं:

mysql> create table SelectPerMonthDemo (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Price int,
    -> PurchaseDate datetime
    -> );

विभिन्न महीनों का डेटा डालें:

mysql> insert into SelectPerMonthDemo(Price, PurchaseDate) values(600, date_add(now(), interval -1 month));
mysql> insert into SelectPerMonthDemo(Price, PurchaseDate) values(600, date_add(now(), interval 2 month));
mysql> insert into SelectPerMonthDemo(Price, PurchaseDate) values(400, now());
mysql> insert into SelectPerMonthDemo(Price, PurchaseDate) values(800, date_add(now(), interval 3 month));
mysql> insert into SelectPerMonthDemo(Price, PurchaseDate) values(900, date_add(now(), interval 4 month));
mysql> insert into SelectPerMonthDemo(Price, PurchaseDate) values(100, date_add(now(), interval 4 month));
mysql> insert into SelectPerMonthDemo(Price, PurchaseDate) values(1200, date_add(now(), interval -1 month));

महीने के नाम के साथ योग

mysql> select monthname(PurchaseDate) as MONTHNAME, sum(Price)
    -> from SelectPerMonthDemo
    -> group by monthname(PurchaseDate);

परिणाम:

+-----------+------------+
| MONTHNAME | sum(Price) |
+-----------+------------+
| January   |       1800 |
| April     |        600 |
| February  |        400 |
| May       |        800 |
| June      |       1000 |
+-----------+------------+

महीने की संख्या के साथ योग

mysql> select month(PurchaseDate), sum(Price)
    -> from SelectPerMonthDemo
    -> group by month(PurchaseDate);

परिणाम:

+---------------------+------------+
| month(PurchaseDate) | sum(Price) |
+---------------------+------------+
|                   1 |       1800 |
|                   4 |        600 |
|                   2 |        400 |
|                   5 |        800 |
|                   6 |       1000 |
+---------------------+------------+

वर्ष और महीना दोनों के अनुसार समूह

SELECT YEAR(PurchaseDate) AS Year, MONTH(PurchaseDate) AS Month, SUM(Price) AS Total
FROM SelectPerMonthDemo
GROUP BY YEAR(PurchaseDate), MONTH(PurchaseDate)
ORDER BY Year, Month;

प्रदर्शन टिप

बड़ी टेबल पर दिनांक कॉलम पर इंडेक्स बनाएं और WHERE PurchaseDate >= '2024-01-01' जैसे रेंज फ़िल्टर का उपयोग करें।

  1. - MySQL में MONTH() और DAY() का उपयोग करके वर्तमान दिनांक के दिन और महीने के साथ तिथि रिकॉर्ड्स की तुलना करना

    MySQL में दिन और महीने के आधार पर तिथि फ़िल्टरिंग वर्ष की परवाह किए बिना विशिष्ट दिन और महीने पर पड़ने वाली तिथियों को ढूंढने के लिए (जैसे वर्षगाँठ, जन्मदिन), MONTH() और DAY() फ़ंक्शन का उपयोग करके तिथि भागों की तुलना करें। उदाहरण: आज की तिथि से मेल खाने वाली वर्षगाँठ ढूंढना पहले एक वर्षगाँठ तिथि ट

  1. - MySQL में DATEDIFF() का उपयोग करके वर्तमान दिनांक और टेबल दिनांक रिकॉर्ड्स के बीच अंतर ढूंढना

    MySQL DATEDIFF() के साथ दिनांक अंतर गणना MySQL का DATEDIFF() फ़ंक्शन दो दिनांकों के बीच दिनों की संख्या लौटाता है: DATEDIFF(दिनांक1, दिनांक2) = दिनांक1 - दिनांक2 (दिनों में)। यह देय तिथियों, आयु गणना और समय-आधारित विश्लेषण के लिए उपयोगी है। उदाहरण: देय तिथियों से दिनों का अंतर SELECT CURDATE(); +-

  1. - MySQL में महीने के अनुसार कुल राशि (SUM) कैसे प्राप्त करें?

    MySQL में MONTH() और YEAR() फ़ंक्शन के साथ GROUP BY का उपयोग करके महीने के अनुसार राशि का योग निकाला जा सकता है। उदाहरण खरीद तालिका बनाएं: mysql> CREATE TABLE DemoTable ( -> PurchaseDate DATE, -> Amount INT -> ); डेटा डालें: mysql> INSERT INTO DemoTable VALUES ->