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

MySQL में तारीखों की गिनती करें और दोहराई गई तारीखें भी प्राप्त करें

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 कॉलम के साथ काम करता है और समय-श्रृंखला विश्लेषण के लिए मूलभूत है।

  1. - MySQL क्वेरी डुप्लिकेट टुपल्स खोजने और गिनती प्रदर्शित करने के लिए?

    डुप्लिकेट टुपल्स खोजने के लिए GROUP BY HAVING क्लॉज का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable -> ( -> Id int, -> Name varchar(20) -> ); Query OK, 0 rows affected (0.80 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into De

  1. - MySQL टेबल में विशिष्ट तारीख की घटनाओं की गिनती कैसे करें?

    MySQL में किसी DATE कॉलम में विशिष्ट तारीख की घटनाओं (occurrences) को गिनने के लिए, COUNT(*) के साथ WHERE date(column) = target_date का उपयोग करें। यह सरल, कुशल, और इंडेक्स-अनुकूल है। उदाहरण: 2019-12-11 तारीख की गिनती डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1946 (ShippingDate DATE); डेट

  1. - MySQL में टेबल A की तुलना में टेबल B में नहीं होने पर टेबल C में डेटा डालें

    समाधान टेबल A और B पर LEFT JOIN का उपयोग करें, जहां B में मेल नहीं खाता वहां के रिकॉर्ड टेबल C में डालें। उदाहरण टेबल A (demo20): INSERT INTO demo20 VALUES (100,John), (101,Bob), (102,Mike), (103,Carol); टेबल B (demo21): INSERT INTO demo21 VALUES (100,Sam), (101,Adam), (133,Bob), (145,David); ट