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

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

MySQL में किसी DATE कॉलम में विशिष्ट तारीख की घटनाओं (occurrences) को गिनने के लिए, COUNT(*) के साथ WHERE date(column) = 'target_date' का उपयोग करें। यह सरल, कुशल, और इंडेक्स-अनुकूल है।

उदाहरण: '2019-12-11' तारीख की गिनती

डेमो टेबल बनाएं:

mysql> CREATE TABLE DemoTable1946 (ShippingDate DATE);

डेटा इन्सर्ट करें (कुछ डुप्लिकेट तारीख के साथ):

mysql> INSERT INTO DemoTable1946 VALUES
('2019-12-11'), ('2018-12-11'), ('2017-12-11'),
('2019-04-22'), ('2019-12-11'), ('2015-12-11');

डेटा:

+--------------+
| ShippingDate |
+--------------+
| 2019-12-11   |
| 2018-12-11   |
| 2017-12-11   |
| 2019-04-22   |
| 2019-12-11   |
| 2015-12-11   |
+--------------+

विशिष्ट तारीख गिनें:

mysql> SELECT COUNT(*) 
FROM DemoTable1946 
WHERE DATE(ShippingDate) = '2019-12-11';

आउटपुट:

+----------+
| count(*) |
+----------+
| 2        |
+----------+

DATE() फंक्शन क्यों?

  • यदि कॉलम DATETIME है, तो DATE() समय भाग हटाकर केवल तारीख भाग की तुलना करता है
  • DATE कॉलम के लिए वैकल्पिक लेकिन हानिरहित
  • स्ट्रिंग तुलना से सुरक्षित (फॉर्मेट स्वतंत्र)

इंडेक्स-अनुकूल विकल्प (रेंज क्वेरी)

बड़े टेबल्स पर इंडेक्स उपयोग के लिए:

SELECT COUNT(*) 
FROM DemoTable1946 
WHERE ShippingDate >= '2019-12-11' 
  AND ShippingDate < '2019-12-12';

यह ShippingDate पर इंडेक्स का उपयोग कर सकता है।

एकाधिक तारीखों की गिनती (ग्रुप बाय)

SELECT ShippingDate, COUNT(*) AS occurrences
FROM DemoTable1946
GROUP BY ShippingDate
ORDER BY occurrences DESC;

आउटपुट:

+--------------+---------------+
| ShippingDate | occurrences   |
+--------------+---------------+
| 2019-12-11   | 2             |
| 2018-12-11   | 1             |
| 2017-12-11   | 1             |
| 2019-04-22   | 1             |
| 2015-12-11   | 1             |
+--------------+---------------+

DATETIME कॉलम के लिए

-- पूरी तारीख रेंज (सर्वश्रेष्ठ प्रदर्शन)
WHERE dt >= '2019-12-11 00:00:00' AND dt < '2019-12-12 00:00:00'

-- या DATE() फंक्शन (इंडेक्स उपयोग नहीं कर सकता)
WHERE DATE(dt) = '2019-12-11'

सापेक्ष तारीख (आज, कल, आदि)

WHERE DATE(ShippingDate) = CURDATE()           -- आज
WHERE DATE(ShippingDate) = CURDATE() - INTERVAL 1 DAY  -- कल
WHERE DATE(ShippingDate) BETWEEN CURDATE() - INTERVAL 7 DAY AND CURDATE()  -- पिछले 7 दिन

तारीख गिनती रिपोर्टिंग, एनालिटिक्स, और मॉनिटरिंग डैशबोर्ड के लिए मौलिक ऑपरेशन है।

  1. Java का उपयोग करके MySQL टेबल में कॉलम की संख्या गिनना Java का उपयोग करके MySQL टेबल में कॉलम की संख्या गिनना

    ResultSetMetaData का उपयोग करके कॉलम मेटाडेटा प्राप्त करना इसके लिए ResultSetMetaData का उपयोग करें। पहले एक टेबल बनाते हैं: CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName VARCHAR(20), StudentLastName VARCHAR(20) ); Query OK, 0 rows affect

  1. - MySQL में DATE_ADD से तारीख में वर्ष जोड़ें

    UPDATE और DATE_ADD() से मौजूदा तारीखों में अंतराल जोड़ें मौजूदा तारीख कॉलम में वर्ष (या अन्य अंतराल) जोड़ने के लिए UPDATE के साथ DATE_ADD() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1984 ( ShippingDate date ); Query OK, 0 rows affected (0.00 sec) mysql> insert into

  1. - MySQL में विशिष्ट मान वाले कॉलम की संख्या कैसे गिनें?

    SUM() के साथ गणना बाइनरी मान (0/1) वाले कॉलम के लिए: select sum(value1+value2+value3) as `Total_Number_Of_1`, sum(value1 and value2 and value3) as `Total_Number_Of_Rows_With_1` from yourTableName; उदाहरण insert into demo36(value1,value2,value3) values(1,0,0), (1,0,1), (1,1,1), (0,1,0), (