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

MySQL में DATETIME कॉलम पर केवल DATE द्वारा GROUP BY कैसे करें?

DATETIME कॉलम को केवल DATE भाग द्वारा ग्रुप करना

जब एक DATETIME कॉलम होता है और आप केवल दिनांक (टाइम भाग को अनदेखा करके) के आधार पर ग्रुप करना चाहते हैं, तो DATE() फ़ंक्शन का उपयोग करें।

सिंटैक्स

SELECT * FROM yourTableName GROUP BY DATE(yourDateTimeColumn);

उदाहरण

CREATE TABLE groupByDateDemo (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    UserName VARCHAR(20),
    UserPostDatetime DATETIME
);

INSERT INTO groupByDateDemo (UserName, UserPostDatetime) VALUES
('Larry', '2018-01-02 13:45:40'),
('Mike',  '2018-01-02 13:45:40'),
('Sam',   '2019-01-28 12:30:34'),
('David', '2019-02-10 11:35:54'),
('Maxwell','2019-02-10 11:35:54');

GROUP BY DATE() क्वेरी

SELECT * FROM groupByDateDemo GROUP BY DATE(UserPostDatetime);

आउटपुट

+----+----------+---------------------+
| Id | UserName | UserPostDatetime    |
+----+----------+---------------------+
| 1  | Larry    | 2018-01-02 13:45:40 |
| 3  | Sam      | 2019-01-28 12:30:34 |
| 4  | David    | 2019-02-10 11:35:54 |
+----+----------+---------------------+

व्याख्या

  • DATE(UserPostDatetime) केवल YYYY-MM-DD भाग निकालता है।
  • MySQL ONLY_FULL_GROUP_BY मोड में (डिफ़ॉल्ट 5.7+), SELECT * के साथ GROUP BY केवल तभी काम करता है जब गैर-समूहीकृत कॉलम फ़ंक्शनली डिपेंडेंट हों (यहां प्राथमिक कुंजी Id है)।
  • एग्रीगेशन के लिए COUNT(*), MAX() आदि का उपयोग करें।

बेहतर अभ्यास: एग्रीगेशन के साथ

SELECT DATE(UserPostDatetime) AS PostDate, COUNT(*) AS PostsPerDay
FROM groupByDateDemo
GROUP BY DATE(UserPostDatetime);
  1. - MySQL सिंटैक्स त्रुटि (SELECT क्वेरी में) 'group' को टेबल नाम के रूप में उपयोग करते समय

    GROUP एक आरक्षित कीवर्ड है, आप इसे टेबल नाम के रूप में उपयोग नहीं कर सकते। इसलिए, इसे टेबल नाम के रूप में उपयोग करने पर त्रुटि होगी। ऐसी त्रुटि से बचने के लिए, आपको टेबल नाम group के आसपास बैकटिक्स प्रतीक का उपयोग करना होगा। आइए अब एक उदाहरण देखते हैं और एक टेबल बनाते हैं: mysql> create table `g

  1. MySQL में फाइल लोकेशन रिकॉर्ड वाली टेबल से सबस्ट्रिंग परिणाम कैसे प्राप्त करें MySQL में फाइल लोकेशन रिकॉर्ड वाली टेबल से सबस्ट्रिंग परिणाम कैसे प्राप्त करें

    सिंटैक्स SELECT SUBSTR(yourColumnName, startIndex, endIndex) FROM yourTableName LIMIT anyValue; SELECT SUBSTR(yourColumnName, startIndex) FROM yourTableName LIMIT anyValue; उदाहरण टेबल बनाएं: INSERT INTO demo11 (fileLocation) VALUES (E:/users/program/sample.sql), (E:/users/data/db.sql), (C:/users/

  1. - Python का उपयोग करके MySQL में डेट ऑब्जेक्ट कैसे इन्सर्ट करें?

    MySQL डेटाबेस में डेट इन्सर्ट करने के लिए, आपकी टेबल में टाइप date या datetime का कॉलम होना चाहिए। एक बार आपके पास वह हो, तो आपको अपने डेट को इन्सर्ट करने से पहले स्ट्रिंग फॉर्मेट में बदलना होगा। ऐसा करने के लिए, आप datetime मॉड्यूल के strftime फॉर्मेटिंग फंक्शन का उपयोग कर सकते हैं। उदाहरण के लिए f