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

MySQL में वर्तमान टाइमस्टैम्प से 10 मिनट के भीतर के रिकॉर्ड कैसे चुनें?

MySQL में वर्तमान समय से पिछले 10 मिनट के भीतर के रिकॉर्ड प्राप्त करने के लिए DATE_SUB() और NOW() फंक्शन का उपयोग करें।

सिंटैक्स

SELECT * FROM yourTableName 
WHERE yourDateTimeColumn >= DATE_SUB(NOW(), INTERVAL 10 MINUTE);

उदाहरण के साथ समझें

टेबल बनाएं:

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

रिकॉर्ड डालें (विभिन्न समय के साथ):

INSERT INTO users(UserName, UserLastseen) VALUES('Larry', '2019-01-15 02:45:00');
INSERT INTO users(UserName, UserLastseen) VALUES('Sam', NOW());
INSERT INTO users(UserName, UserLastseen) VALUES('Mike', '2019-01-15 02:30:00');
INSERT INTO users(UserName, UserLastseen) VALUES('Bob', '2019-01-15 15:02:00');
INSERT INTO users(UserName, UserLastseen) VALUES('David', '2019-01-15 14:55:00');

सभी रिकॉर्ड देखें:

SELECT * FROM users;

आउटपुट (मान लें वर्तमान समय 2019-01-15 15:05:00 है):

+----+----------+---------------------+
| Id | UserName | UserLastseen        |
+----+----------+---------------------+
| 1  | Larry    | 2019-01-15 02:45:00 |
| 2  | Sam      | 2019-01-15 15:01:52 |
| 3  | Mike     | 2019-01-15 02:30:00 |
| 4  | Bob      | 2019-01-15 15:02:00 |
| 5  | David    | 2019-01-15 14:55:00 |
+----+----------+---------------------+

पिछले 10 मिनट के रिकॉर्ड पाने का क्वेरी

SELECT * FROM users 
WHERE UserLastseen >= DATE_SUB(NOW(), INTERVAL 10 MINUTE);

परिणाम (केवल हाल के 3 रिकॉर्ड):

+----+----------+---------------------+
| Id | UserName | UserLastseen        |
+----+----------+---------------------+
| 2  | Sam      | 2019-01-15 15:01:52 |
| 4  | Bob      | 2019-01-15 15:02:00 |
| 5  | David    | 2019-01-15 14:55:00 |
+----+----------+---------------------+

अन्य समय अंतराल के लिए

-- पिछले 1 घंटे
WHERE yourColumn >= DATE_SUB(NOW(), INTERVAL 1 HOUR)

-- पिछले 24 घंटे (1 दिन)
WHERE yourColumn >= DATE_SUB(NOW(), INTERVAL 1 DAY)

-- पिछले 7 दिन
WHERE yourColumn >= DATE_SUB(NOW(), INTERVAL 7 DAY)

-- पिछले 30 दिन
WHERE yourColumn >= DATE_SUB(NOW(), INTERVAL 30 DAY)

नोट

  • NOW() वर्तमान दिनांक-समय लौटाता है
  • DATE_SUB() दिनांक से अंतराल घटाता है
  • इंडेक्स प्रदर्शन के लिए yourDateTimeColumn पर इंडेक्स बनाएं
  • INTERVAL के साथ SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR उपयोग कर सकते हैं
  1. - MySQL में SUM() और MONTH() से वर्तमान माह के रिकॉर्ड का योग प्राप्त करें

    SUM() एग्रीगेट फ़ंक्शन के साथ MONTH() और YEAR() फ़िल्टर का उपयोग करके वर्तमान माह के रिकॉर्ड का योग प्राप्त करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1889 (DueDate DATE, Amount INT); डेटा डालें mysql> INSERT INTO DemoTable1889 VALUES(2019-12-11, 500), (2019-11-11, 1000), (2018-12-04, 700

  1. - MySQL में कॉमा-सेपरेटेड मान वाले कॉलम में विशिष्ट संख्या खोजकर रिकॉर्ड चुनें

    CONCAT() + LIKE कॉमा सेपरेटेड स्ट्रिंग में सटीक संख्या मिलान के लिए: select * from yourTableName where concat(,, yourColumnName, ,) like %,yourValue,%; उदाहरण insert into demo49 values(4,5,6,Adam), (5,3,2,Mike), (3,4,9,Bob); संख्या 4 खोजना select * from demo49 where concat(,, id, ,) like %,4,%;

  1. - MySQL में FIND_IN_SET() से कॉमा-सेपरेटेड कॉलम में विशिष्ट संख्या वाले रिकॉर्ड चुनें

    FIND_IN_SET() फ़ंक्शन FIND_IN_SET(str, strlist) कॉमा-सेपरेटेड सूची में स्ट्रिंग की स्थिति लौटाता है (1-आधारित); नहीं मिलने पर 0। उदाहरण insert into demo73 values(100,101,103,105,SSC), (105,103,1005,1003,104,Computer), (110,105,104,111,Novel); संख्या 103 खोजना 0; +-----------------------+-------