MySQL में टाइमस्टैम्प कॉलम से केवल तारीख भाग निकालकर, प्रत्येक तारीख की घटनाओं की गिनती करने के लिए DATE() फ़ंक्शन के साथ COUNT(*) और GROUP BY का उपयोग करें।
सिंटैक्स
SELECT DATE(datetime_column) AS OnlyDate, COUNT(*) AS Total FROM table_name GROUP BY DATE(datetime_column) ORDER BY DATE(datetime_column);
व्यावहारिक उदाहरण
टाइमस्टैम्प कॉलम वाली टेबल बनाएं:
mysql> CREATE TABLE DemoTable1321 (ArrivalDatetime TIMESTAMP);
विभिन्न तारीखों और समय के साथ रिकॉर्ड डालें (कुछ एक ही तारीख के):
mysql> INSERT INTO DemoTable1321 VALUES(NOW());
mysql> INSERT INTO DemoTable1321 VALUES('2019-01-10 12:34:00');
mysql> INSERT INTO DemoTable1321 VALUES('2019-06-12 11:34:00');
mysql> INSERT INTO DemoTable1321 VALUES('2019-06-12 04:50:00');
mysql> INSERT INTO DemoTable1321 VALUES('2019-09-18 10:50:45');
mysql> INSERT INTO DemoTable1321 VALUES('2019-06-12 06:10:20');
सभी रिकॉर्ड देखें:
mysql> SELECT * FROM DemoTable1321;
+---------------------+ | ArrivalDatetime | +---------------------+ | 2019-09-18 21:49:17 | | 2019-01-10 12:34:00 | | 2019-06-12 11:34:00 | | 2019-06-12 04:50:00 | | 2019-09-18 10:50:45 | | 2019-06-12 06:10:20 | +---------------------+
तारीख के अनुसार गिनती करने की क्वेरी
mysql> SELECT DATE(ArrivalDatetime) AS OnlyDate, COUNT(*) AS Total
-> FROM DemoTable1321
-> GROUP BY DATE(ArrivalDatetime)
-> ORDER BY DATE(ArrivalDatetime);
परिणाम
+------------+-------+ | OnlyDate | Total | +------------+-------+ | 2019-01-10 | 1 | | 2019-06-12 | 3 | | 2019-09-18 | 2 | +------------+-------+
व्याख्या
DATE(ArrivalDatetime)- टाइमस्टैम्प से केवल तारीख भाग निकालता है (समय हटा देता है)GROUP BY DATE(ArrivalDatetime)- समान तारीख वाली पंक्तियों को समूहित करता हैCOUNT(*)- प्रत्येक समूह में पंक्तियों की संख्या गिनता हैORDER BY DATE(ArrivalDatetime)- परिणाम को तारीख के अनुसार क्रमबद्ध करता है
उपयोग के मामले
- दैनिक लॉगिन/विज़िट गिनती
- प्रतिदिन ऑर्डर/बिक्री संख्या
- किसी घटना की दैनिक आवृत्ति विश्लेषण
- डुप्लिकेट तारीख प्रविष्टियों की पहचान
यह पैटर्न किसी भी DATETIME या TIMESTAMP कॉलम के साथ काम करता है और समय-श्रृंखला विश्लेषण के लिए मूलभूत है।