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

MySQL में यूजर लॉगिन टाइम को प्रति घंटा ग्रुप करके हाल के घंटे के रिकॉर्ड्स कैसे प्राप्त करें?

सबक्वेरी और JOIN के साथ प्रति घंटा नवीनतम लॉगिन

प्रत्येक घंटे का नवीनतम लॉगिन रिकॉर्ड प्राप्त करने के लिए:

SELECT tbl1.* 
FROM (
    SELECT MAX(UNIX_TIMESTAMP(UserLoginDateTime)) AS m1
    FROM getLatestHour
    GROUP BY HOUR(UserLoginDateTime)
) var1
JOIN getLatestHour tbl1 ON UNIX_TIMESTAMP(tbl1.UserLoginDateTime) = var1.m1
WHERE DATE(tbl1.UserLoginDateTime) = '2019-02-04';

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE getLatestHour (
    -> UserId INT,
    -> UserName VARCHAR(20),
    -> UserLoginDateTime DATETIME
    -> );
mysql> INSERT INTO getLatestHour VALUES(100, 'John', '2019-02-04 10:55:51');
mysql> INSERT INTO getLatestHour VALUES(101, 'Larry', '2019-02-04 12:30:40');
mysql> INSERT INTO getLatestHour VALUES(102, 'Carol', '2019-02-04 12:40:46');
mysql> INSERT INTO getLatestHour VALUES(103, 'David', '2019-02-04 12:44:54');
mysql> INSERT INTO getLatestHour VALUES(104, 'Bob', '2019-02-04 12:47:59');

परिणाम

+--------+----------+---------------------+
| UserId | UserName | UserLoginDateTime   |
+--------+----------+---------------------+
|    100 | John     | 2019-02-04 10:55:51 |
|    104 | Bob      | 2019-02-04 12:47:59 |
+--------+----------+---------------------+

घंटा 10 का नवीनतम: John (10:55:51), घंटा 12 का नवीनतम: Bob (12:47:59)।

  1. - MySQL में GROUP BY और COUNT() का उपयोग करके नामों द्वारा ग्रुप करके काउंट नए कॉलम में प्रदर्शित करना

    GROUP BY और COUNT() के साथ नामवार पंक्ति गिनती नाम के अनुसार रिकॉर्ड्स ग्रुप करके प्रत्येक नाम की घटनाओं को नए कॉलम में गिनने के लिए GROUP BY के साथ COUNT() का उपयोग करें। आइए पहले एक टेबल बनाते हैं: mysql> CREATE TABLE DemoTable ( Name VARCHAR(30) ); रिकॉर्ड्स इन्सर्ट करें: mysql> INSERT

  1. - MySQL में GROUP_CONCAT: स्टेटस=1 वाली पंक्तियों के नामों को एक पंक्ति में संयोजित करें

    GROUP_CONCAT() के साथ WHERE क्लॉज का उपयोग करके केवल विशिष्ट शर्त पूरी करने वाली पंक्तियों के मानों को संयोजित करें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable ( PlayerName VARCHAR(40), PlayerStatus TINYINT(1) ); Query OK, 0 rows affected (0.60 sec) INSERT INTO DemoTable VALUES(Chri

  1. - MySQL में INFORMATION_SCHEMA.TABLES से सबसे हाल ही में बनी टेबल का नाम प्राप्त करें

    MySQL में सबसे हाल ही में बनाई गई टेबल (सबसे हाल की CREATE_TIME) का नाम प्राप्त करने के लिए INFORMATION_SCHEMA.TABLES सिस्टम व्यू को क्वेरी करें। यह ऑडिटिंग, माइग्रेशन सत्यापन, और डायनामिक SQL के लिए उपयोगी है। सिंटैक्स SELECT TABLE_NAME, CREATE_TIME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEM