सबक्वेरी और 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)।